1. 程式人生 > >2017.10.15 文件管理、命令別名和glob

2017.10.15 文件管理、命令別名和glob

文件 管理類 命令

一. 目錄/文件的相關操作:

1. 創建目錄

mkdir 選項 目錄

參數:

-p 遞歸創建目錄

例如:

在根目錄/下創建uzz目錄
[[email protected] /]# mkdir uzz
[[email protected] /]# ls /
12   bin   data1  home   lost+found  opt   sbin     sys  uzz
123  boot  dev    lib    media       proc  selinux  tmp  var
abc  data  etc    lib64  mnt         root  srv      usr  xxl
[[email protected] /]#
在uzz目錄下創建xk目錄,再在xk目錄下創建wlgc目錄
[[email protected] uzz]# mkdir -p xk/wlgc
[[email protected] uzz]# ls
xk
[[email protected] uzz]# ls xk
wlgc
[[email protected] uzz]# 

補充:linux中的相對路徑和絕對路徑:
絕對路徑是指從根/開始的路徑,例如 /etc/sysconfig/network-scripts/ifcfg-eth0
相對路徑不從根開始,從當前路徑說起,即./

2.列出目錄:

ls 目錄名 列出目錄

tree 目錄名 查看目錄樹

例子:

列出mnt文件夾中的內容
[[email protected] uzz]# ls /mnt
cdrom
[[email protected] uzz]# 

遞歸列出uzz目錄樹
[[email protected] uzz]# tree /uzz
/uzz
└── xk
    └── wlgc

2 directories, 0 files
[[email protected] uzz]# 

補充:使用tree命令要先安裝tree, 安裝方法:yum install tree  –y   安裝完會有亂碼,
執行:LANG=EN 就可以解決

3.切換目錄

cd 目錄名

例如:切換到uzz目錄

  [[email protected] /]# cd /uzz
  [[email protected] uzz]#

4. 查看當前目錄

pwd

  [[email protected] uzz]# pwd
  /uzz
  [[email protected] uzz]#

5. 刪除文件夾

rm 參數 文件/文件夾

-f 強制刪除

-r 刪除文件夾

例如:強制刪除12文件夾

[[email protected] ~]# ls /
12   bin   data1  home   lost+found  opt   sbin     sys  uzz
123  boot  dev    lib    media       proc  selinux  tmp  var
abc  data  etc    lib64  mnt         root  srv      usr  xxl
[[email protected] ~]# rm -fr /12
[[email protected] ~]# ls /
123  boot   dev   lib         media  proc  selinux  tmp  var
abc  data   etc   lib64       mnt    root  srv      usr  xxl
bin  data1  home  lost+found  opt    sbin  sys      uzz
[[email protected] ~]#

6. 新建文件
touch 創建文件或個更新文件的時間戳。 如果文件不存在,就創建新文件,如果文件存在,就更新文件的時間戳。
例如:在uzz目錄下創建1.txt,在uzz的xk目錄下創建2.txt

   [[email protected] uzz]# touch 1.txt
   [[email protected] uzz]# touch xk/2.txt
   [[email protected] uzz]# ls
   1.txt  xk
   [[email protected] uzz]# ls xk
   2.txt  wlgc
   [[email protected] uzz]#

7 . 查看文件
cat 目錄名/文件名

     [[email protected] xk]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
   DEVICE=eth0
   HWADDR=00:0c:29:06:1c:66
   TYPE=Ethernet
   UUID=3bfb0110-c5ed-446c-856e-530bb2097725
   ONBOOT=yes
   NM_CONTROLLED=yes
   BOOTPROTO=none
   USERCTL=no
   IPV6INIT=no
   IPADDR=192.168.80.222
   NETMASK=255.255.255.0
   GATEWAY=192.168.80.1
   DNS1=8.8.8.8
   [[email protected] xk]#

8. 移動/復制文件/文件夾
cp 拷貝文件/文件夾

格式:cp 參數 源 目標

例如:將uzz/xk下的2.txt拷貝到uzz下:

   [[email protected] xk]# cp 2.txt /uzz
   [ro[email protected] xk]# ls /uzz
   1.txt  2.txt  xk
   [[email protected] xk]#

mv 移動文件/文件夾

格式:mv 參數 源 目標

例如:將uzz下的1.txt移動到uzz/xk文件夾中

   [[email protected] uzz]# mv 1.txt xk
   [[email protected] uzz]# ls xk
   1.txt  2.txt  wlgc
   [[email protected] uzz]#

9 .使用 vi 編輯文件

vi 文件名

然後按a或i進入編輯模式,對文本進行編輯,編輯完成後按esc,然後按shift+: 輸入wq 回車保存 並退出

例如:編輯uzz下的2.txt,輸入內容:1 2 3 4

  [[email protected] uzz]# ls
    2.txt  xk
    [[email protected] uzz]# vi 2.txt
    
    1 2 3 4 
    ~
    ~
    ~
    ~
    "2.txt" 1L, 8C written
    [[email protected] uzz]# cat 2.txt
    1 2 3 4
    [[email protected] uzz]#

10. 命令別名(alias)

通過alias實現:

(1)alias

顯示當前shell進程所有可用的命令別名;

(2)alias NAME="VALUE"

定義別名NAME,其相當於執行命令“VALUE”;

註意: 在命令行中定義別名,僅對當前shell進程有效,如果想永久有效,要定義在配置文件中;

僅對當前用戶:~/.bashrc

對所有用戶有效:/etc/bashrc

Note:編輯配置給出的新配置不會立即生效;

bash進程重新讀取配置文件:

source /path/to/config_file

. /path/to/config_file

撤銷別名:unalias

unalias [-a] name [name ...]

Note:如果別名同原命令的名稱,則如果要執行原命令,可用“\COMMAND”;

11.glob的用法


bash中用於實現文件名“通配”

通配符:*,?,[]

(1)*

任意長度的任意字符

a*b:

aab, ab, a123b 可以

abc 不可以

(2)?

任意單個字符

a?b:

aab 可以

ab, a12b, abc 不可以

(3)[]

匹配指定範圍內的任意單個字符

[0-9]

[a-z]:不區分字符的大小寫

[A-Z]:大寫字母

(4)[^]

匹配指定範圍之外的任意單個字符

[^0-9]:


專用字符集合:

[:digit:]:任意數字,相當於0-9

[:lower:]:任意小寫字母

[:upper:]:任意大寫字母

[:alpha:]:任意大小寫字母

[:alnum:]:任意數字或字母

[:space:]:空格字符

[:punct:]:標點符號


練習:

1. 顯示/var下所有以1開頭,以一個小寫字母結尾,且中間出現至少一位數字的文件或目錄。

2. 顯示/etc/目錄下,以任意一位數字開頭,且以非數字結尾的文件或目錄

3. 顯示/etc下,以非字母開頭,後面跟了一個字母及其他任意長度任意字符的文件或目錄

4. 復制/etc目錄下,所有以m開頭,以非數字結尾的文件或目錄至/tmp/123目錄中

5. 復制/etc目錄下,所有以.d結尾的文件或目錄至/tmp/123目錄中

6. 復制/etc目錄下,所有以.conf結尾,且以m,n,r,p開頭的文件或目錄至/tmp/123目錄中











本文出自 “技術成就夢想” 博客,請務必保留此出處http://xuxiaoliang.blog.51cto.com/10882951/1972495

2017.10.15 文件管理、命令別名和glob