Linux的文件管理和Bash的基礎特性
一:Linux的文件管理類命令
(一)目錄管理命令:
1、ls:用于顯示指定工作目錄下的內容。
語法:
ls [OPTION] … [FILE] …
選項:
-a? ? 顯示所有文件及目錄 (ls內定將文件名或目錄名稱開頭為”.”的視為隱藏檔,不會列出)
-l? ? 除文件名稱外,亦將文件型態、權限、擁有者、文件大小等資訊詳細列出
-r? ? 將文件以相反次序顯示(原定依英文字母次序)
-t? ? 將文件依建立時間之先后次序列出
-A? ? 同 -a ,但不列出 “.” (目前目錄) 及 “..” (父目錄)
-F? ? 在列出的文件名稱后加一符號;例如可執行檔則加 “*”, 目錄則加 “/”
-R? ? 若目錄下有文件,則以下之文件亦皆依序列出
實例:

2、cd:用于切換當前工作目錄至要切換的目標目錄。
語法:
cd [dirName]
實例:

3、pwd:打印當前工作目錄的名稱。
語法:
pwd [OPTION] …
實例:

4、mkdir:創建空目錄。
語法:
mkdir [OPTION] …DIRECTORY…
選項:
-p? ? 確保目錄名稱存在,不存在的就建一個。
-v? ? 顯示詳細過程
-m? ? 直接給定權限
實例:

5、rmdir:刪除目錄。
語法:
rmdir [OPTION] …DIRECTORY…
選項:
-p? ? 刪除目錄后,如果父目錄為空,則一并刪除。
-v? ? 顯示詳細過程
實例:

6、tree:用于以樹狀圖列出目錄的內容。
語法:
tree [-aACdDfFgilnNpqstux][-I <范本樣式>][-P <范本樣式>][目錄…]
選項:
-a? ? 顯示所有文件和目錄。
-A? ? 使用ASNI繪圖字符顯示樹狀圖而非以ASCII字符組合。
-C? ? 在文件和目錄清單加上色彩,便于區分各種類型。
-d? ? 顯示目錄名稱而非內容。
-D? ? 列出文件或目錄的更改時間。
-f? ? 在每個文件或目錄之前,顯示完整的相對路徑名稱。
-F? ? 在執行文件,目錄,Socket,符號連接,管道名稱名稱,各自加上”*”,”/”,”=”,”@”,”|”號。
-g? ? 列出文件或目錄的所屬群組名稱,沒有對應的名稱時,則顯示群組識別碼。
-i? ? 不以階梯狀列出文件或目錄名稱。
-I<范本樣式>? ? 不顯示符合范本樣式的文件或目錄名稱。
-l? ? 如遇到性質為符號連接的目錄,直接列出該連接所指向的原始目錄。
-n? ? 不在文件和目錄清單加上色彩。
-N? ? 直接列出文件和目錄名稱,包括控制字符。
-p? ? 列出權限標示。
-P<范本樣式>? ? 只顯示符合范本樣式的文件或目錄名稱。
-q? ? 用”?”號取代控制字符,列出文件和目錄名稱。
-s? ? 列出文件或目錄大小。
-t? ? 用文件和目錄的更改時間排序。
-u? ? 列出文件或目錄的擁有者名稱,沒有對應的名稱時,則顯示用戶識別碼。
-x? ? 將范圍局限在現行的文件系統中,若指定目錄下的某些子目錄,其存放于另一個文件系統上,則將該子目錄予以排除在尋找范圍外。
實例:

(二)文件管理命令:
1、touch:用于修改文件或者目錄的時間屬性,包括存取時間和更改時間。若文件不存在,系統會建立一個新的文件。
語法:
touch?[OPTION] … [FILE] …
選項:
a? ? 改變文件的訪問時間。
m? ? 改變文件的改動時間。
c? ? 假如目的文件不存在,不會建立新的文件
t? ? 設定文件的時間記錄,格式與 date 指令相同。
實例:

2、stat:用于顯示inode內容。
語法:
stat [OPTION]?… [FILE] …
實例:

3、file:用于辨識文件類型。
語法:
file -C [ -m?magicfiles?]
選項:
-b 列出辨識結果時,不顯示文件名稱。
-c? 詳細顯示指令執行過程,便于排錯或分析程序執行的情形。
-f<名稱文件>? 指定名稱文件,其內容有一個或多個文件名稱時,讓file依序辨識這些文件,格式為每列一個文件名稱。
-L? 直接顯示符號連接所指向的文件的類別。
-m<魔法數字文件>? 指定魔法數字文件。
-v? 顯示版本信息。
-z? 嘗試去解讀壓縮文件的內容。
實例:

4、rm:用于刪除文件或者目錄。
語法:
rm [OPTION]?… [FILE] …
選項:
-i? ? 交互模式刪除文件,刪除文件前給提示。
-f? ? 強制刪除,忽略不存在的文件,不提示確認。
-r? ? 遞歸刪除目錄及其內容。
實例:

5、cp:復制文件。
語法:
cp [OPTION]?… [-T]? SOURCE? DEST
cp [OPTION]?…? SOURCE? DIRECTORY
cp [OPTION]?… -t? DIRECTORY? SOURCE??
選項:
-a????此選項通常在復制目錄時使用,它保留鏈接、文件屬性,并復制目錄下的所有內容。其作用等于dpR參數組合。
-d????復制時保留鏈接。這里所說的鏈接相當于Windows系統中的快捷方式。
-f????覆蓋已經存在的目標文件而不給出提示。
-i????與-f選項相反,在覆蓋目標文件之前給出提示,要求用戶確認是否覆蓋,回答”y”時目標文件將被覆蓋。
-p????除復制文件的內容外,還把修改時間和訪問權限也復制到新文件中。
-r????若給出的源文件是一個目錄文件,此時將復制該目錄下所有的子目錄和文件。
-l????不復制文件,只是生成鏈接文件。
實例:

6、mv:用來為文件或目錄改名、或將文件或目錄移入其它位置。
語法:
mv [OPTION]?… [-T]? SOURCE? DEST
mv [OPTION]?…? SOURCE? DIRECTORY
mv [OPTION]?… -t?DIRECTORY? SOURCE
選項:
-i? ? 若指定目錄已有同名文件,則先詢問是否覆蓋舊文件
-f????在mv操作要覆蓋某已有的目標文件時不給任何指示
實例:

二:Bash的基礎特性
1:bash的基礎特性之命令行展開
~:自動展開為用戶的家目錄,或指定用戶的家目錄。
{ }:可承載一個以逗號分隔的路徑列表,并能夠將其展開為多個路徑。
實例:
/tmp/{a,b}? ? 就相當于? /tmp/a? ? /tmp/b
2:bash的基礎特性之命令的執行狀態結果
bash通過狀態返回值來輸出此結果
成功:0
失?。?~255
命令執行完成后,其狀態返回值保存于bash的特殊變量$?中,可以用echo $?來查看最近一條命令的狀態。
3:bash的基礎特性之引用
強引用:? ‘? ? ‘(不完成變量的替換)
弱引用:? ”? ?“(完成變量的替換)
命令引用:? `? ?`(反引號)
實例:

4:bash基礎特性之快捷鍵
Ctrl+a:跳轉至命令行行首
Ctrl+e:跳轉至命令行行尾
Ctrl+u:刪除行首至光標所在處之間的所有字符
Ctrl+k:刪除光標所在處至行尾的所有字符
Ctrl+l:清屏,相當于clear
5:bash的基礎特性之文件名通配(整體文件名匹配,而非部分)
匹配模式:元字符
?*:匹配任意長度的任意字符
pa*, *pa*, *pa, *p*a*
pa, paa, passwd
? ? ? ?:匹配任意單個字符
pa?, ??pa, p?a, p?a?
pa, paa, passwd
?[]:匹配指定范圍內的任意單個字符
有幾種特殊格式:
[a-z], [A-Z], [0-9], [a-z0-9]
[[:upper:]]:所有大寫字母
[[:lower:]]:所有小寫字母
[[:alpha:]]:所有字母
[[:digit:]]:所有數字
[[:alnum:]]:所有的字母和數字
[[:space:]]:所有空白字符
[[:punct:]]:所有標點符號
pa[0-9][0-9], 2[0-9][0-9]
[^]:匹配指定范圍外的任意單個字符
[^[:upper:]]
[^0-9]
[^[:alnum:]]
三:使用命令行展開完成下列練習
1:創建/tmp目錄下的:a_c, a_d, b_c, b_d;
2:創建/tmp/mylinux目錄下的

1:? mkdir -v {a,b}_{c,d}

2:? mkdir -pv /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/{local/{bin,sbin}},var/{lock,log,run}}


本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/102185