Linux目錄和文件——操作目錄和文件 摘要:本文主要學習了Linux系統中關於目錄和文件的操作。 cd命令 cd命令用來切換工作目錄,是Change Directory的縮寫。 基本語法 特殊符號 使用舉例 pwd命令 pwd命令的功能是顯示用戶當前所處的工作目錄,是Print Working D ...
Linux目錄和文件——管理目錄和文件的命令
摘要:本文主要學習了Linux系統中關於目錄和文件的操作。
cd命令
cd命令用來切換工作目錄,是Change Directory的縮寫。
基本語法
1 [root@localhost ~]# cd 相對路徑或絕對路徑
特殊符號
1 ~:代表當前登錄用戶的主目錄。 2 ~用戶名:表示切換至指定用戶的主目錄。 3 -:代表上次所在目錄。 4 .:代表當前目錄。 5 ..:代表上級目錄。
使用舉例
1 [root@localhost ~]# cd / 2 [root@localhost /]# cd /usr/local 3 [root@localhost local]# cd .. 4 [root@localhost usr]# cd /home 5 [root@localhost home]# cd ~ 6 [root@localhost ~]#
pwd命令
pwd命令的功能是顯示用戶當前所處的工作目錄,是Print Working Directory的縮寫。
基本語法
1 [root@localhost ~]# pwd [選項]
選項說明
1 -P:顯示鏈接的真實路徑。
使用舉例
1 [root@localhost ~]# pwd 2 /root 3 [root@localhost ~]#
ls命令
ls命令的主要功能是顯示當前目錄下的內容,是最常見的目錄操作命令,是List的縮寫。
基本語法
1 [root@localhost ~]# ls [選項] 文件或目錄
選項說明
1 -a:顯示全部的文件,包括隱藏文件(開頭為.的文件)也一起羅列出來,這是最常用的選項之一。 2 -A:顯示全部的文件,連同隱藏文件,但不包括.與..這兩個目錄。 3 -d:僅列出目錄本身,而不是列出目錄內的文件數據。 4 -f:直接列出結果,而不進行排序,ls預設會以文件名排序。 5 -F:在文件或目錄名後加上文件類型的指示符號: 6 *代表可運行文件,/代表目錄,=代表socket文件,|代表FIFO文件。 7 -h:以人們易讀的方式顯示文件或目錄大小,如1KB、234MB、2GB等。 8 -i:顯示inode節點信息。 9 -l:使用長格式列出文件和目錄信息,包括屬性和許可權等等。 10 -n:以UID和GID分別代替文件用戶名和群組名顯示出來。 11 -r:將排序結果反向輸出,比如,若原本文件名由小到大,反向則為由大到小。 12 -R:連同子目錄內容一起列出來,等於將該目錄下的所有文件都顯示出來。 13 -S:按文件容量大小排序,而不是按文件名排序。 14 -t:按時間排序,而不是按文件名排序。 15 --color=never:不依據文件特性給予顏色顯示。 16 --color=always:根據文件特性給予顏色顯示,預設。 17 --color=auto:讓系統自行依據配置來判斷是否給予顏色。 18 --full-time:以完整時間模式(包含年、月、日、時、分)輸出。 19 --time={atime,ctime}:輸出access時間或改變許可權屬性時間(ctime),而不是內容變更時間(modification time)。
使用舉例
1 [root@localhost /]# ls 2 bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var 3 [root@localhost /]# ls -a 4 . .. bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var 5 [root@localhost /]# ls -l 6 總用量 32 7 lrwxrwxrwx. 1 root root 7 7月 3 16:09 bin -> usr/bin 8 dr-xr-xr-x. 4 root root 4096 7月 3 16:17 boot 9 ... 10 drwxr-xr-x. 13 root root 4096 7月 3 16:09 usr 11 drwxr-xr-x. 19 root root 4096 7月 3 16:20 var 12 [root@localhost /]# ls -lh 13 總用量 32K 14 lrwxrwxrwx. 1 root root 7 7月 3 16:09 bin -> usr/bin 15 dr-xr-xr-x. 4 root root 4.0K 7月 3 16:17 boot 16 ... 17 drwxr-xr-x. 13 root root 4.0K 7月 3 16:09 usr 18 drwxr-xr-x. 19 root root 4.0K 7月 3 16:20 var 19 [root@localhost /]# ls -lha 20 總用量 40K 21 dr-xr-xr-x. 17 root root 4.0K 7月 3 16:12 . 22 dr-xr-xr-x. 17 root root 4.0K 7月 3 16:12 .. 23 lrwxrwxrwx. 1 root root 7 7月 3 16:09 bin -> usr/bin 24 dr-xr-xr-x. 4 root root 4.0K 7月 3 16:17 boot 25 ... 26 drwxr-xr-x. 13 root root 4.0K 7月 3 16:09 usr 27 drwxr-xr-x. 19 root root 4.0K 7月 3 16:20 var 28 [root@localhost /]# ls -lha -S 29 總用量 40K 30 drwxr-xr-x. 76 root root 8.0K 7月 6 09:03 etc 31 dr-xr-xr-x. 17 root root 4.0K 7月 3 16:12 . 32 dr-xr-xr-x. 17 root root 4.0K 7月 3 16:12 .. 33 dr-xr-xr-x. 4 root root 4.0K 7月 3 16:17 boot 34 ... 35 dr-xr-xr-x. 365 root root 0 7月 3 16:20 proc 36 dr-xr-xr-x. 13 root root 0 7月 3 16:20 sys 37 [root@localhost /]# ls -lha -t 38 總用量 40K 39 drwxr-xr-x. 21 root root 640 7月 6 09:03 run 40 drwxr-xr-x. 76 root root 8.0K 7月 6 09:03 etc 41 ... 42 drwxr-xr-x. 2 root root 6 8月 12 2015 opt 43 drwxr-xr-x. 2 root root 6 8月 12 2015 srv 44 [root@localhost /]#
mkdir命令
mkdir命令用於創建新目錄,此命令所有用戶都可以使用,是Make Directories的縮寫。
基本語法
1 [root@localhost ~]# mkdir [選項] 目錄名
選項說明
1 -m:手動配置所創建目錄的許可權,而不再使用預設許可權。 2 -p:遞歸創建所有目錄。
使用舉例
1 [root@localhost home]# ls -l 2 總用量 0 3 [root@localhost home]# mkdir /home/test 4 [root@localhost home]# ls -l 5 總用量 0 6 drwxr-xr-x. 2 root root 6 7月 6 13:55 test 7 [root@localhost home]# mkdir /home/temp/test 8 mkdir: 無法創建目錄"/home/temp/test": 沒有那個文件或目錄 9 [root@localhost home]# mkdir -p /home/temp/test 10 [root@localhost home]# ls -l 11 總用量 0 12 drwxr-xr-x. 3 root root 17 7月 6 13:55 temp 13 drwxr-xr-x. 2 root root 6 7月 6 13:55 test 14 [root@localhost home]#
rmdir命令
rmdir命令用於刪除空目錄,是Remove Empty Directories的縮寫。
基本語法
1 [root@localhost ~]# rmdir [選項] 目錄名
選項說明
1 -p:遞歸刪除空目錄。
使用舉例
1 [root@localhost home]# ls -l 2 總用量 0 3 drwxr-xr-x. 3 root root 17 7月 6 13:55 temp 4 drwxr-xr-x. 2 root root 6 7月 6 13:55 test 5 [root@localhost home]# rmdir test 6 [root@localhost home]# ls -l 7 總用量 0 8 drwxr-xr-x. 3 root root 17 7月 6 13:55 temp 9 [root@localhost home]# rmdir -p temp/test/ 10 [root@localhost home]# ls -l 11 總用量 0 12 [root@localhost home]#
touch命令
touch命令用來創建空文件或者修改文件的時間參數。當文件存在時,會修改此文件的時間參數,當文件不存在時,會在當前位置建立一個空文件。
文件的時間參數
Linux系統中,每個文件主要擁有3個時間參數(通過stat命令進行查看),分別是文件的訪問時間、數據修改時間以及狀態修改時間:
訪問時間(Access Time,簡稱atime):只要文件的內容被讀取,訪問時間就會更新。例如,使用cat命令可以查看文件的內容,此時文件的訪問時間就會發生改變。
數據修改時間(Modify Time,簡稱mtime):當文件的內容數據發生改變,此文件的數據修改時間就會跟著相應改變。例如,修改了文件內容,此時間就會發生改變。
狀態修改時間(Change Time,簡稱ctime):當文件的狀態發生變化,就會相應改變這個時間。例如,如果文件的許可權或者屬性發生改變,此時間就會相應改變。
基本語法
1 [root@localhost ~]# touch [選項] 文件名
選項說明
1 -a:只修改文件的訪問時間(atime)。 2 -m:只修改文件的數據修改時間(mtime)。 3 -c:僅修改文件的時間參數(三個時間參數都改變),如果文件不存在,則不建立新文件。 4 -d:把文件的時間改為指定的日期。 5 -t:把文件的時間改為指定的時間,時間書寫格式為YYMMDDhhmm。
使用舉例
1 [root@localhost home]# ls -l 2 總用量 0 3 [root@localhost home]# touch test 4 [root@localhost home]# ls -l 5 總用量 0 6 -rw-r--r--. 1 root root 0 7月 6 18:17 test 7 [root@localhost home]#
cp命令
cp命令主要用來複制文件和目錄以及比對兩文件的新舊而予以升級等功能,是Copy的縮寫。
基本語法
1 [root@localhost ~]# cp [選項] 源文件 目標文件
選項說明
1 -a:此參數的效果和同時指定-dpr參數相同。 2 -d:如果源文件為軟鏈接(對硬鏈接無效),則複製出的目標文件也為軟鏈接。 3 -f:強行複製文件或目錄,不論目標文件或目錄是否已存在。 4 -i:覆蓋既有文件之前先詢問用戶。 5 -l:對源文件建立硬連接,而非複製文件。 6 -s:對源文件建立軟鏈接,而非複製文件。 7 -p:複製後目標文件保留源文件的屬性(包括所有者、所屬組、許可權和時間)。 8 -r/R:遞歸處理,將指定目錄下的所有文件與子目錄一併處理。 9 -u:目標文件並不存在則複製文件,目標文件存在並且比源文件舊的時候進行覆蓋。 10 -S:在備份文件時,用指定的尾碼“SUFFIX”代替文件的預設尾碼。 11 -b:覆蓋已存在的文件目標前將目標文件備份。 12 -v:詳細顯示命令執行的操作。
使用舉例
1 [root@localhost home]# ls 2 aaa test 3 [root@localhost home]# cp test temp 4 [root@localhost home]# ls 5 aaa temp test 6 [root@localhost home]# cp aaa bbb 7 cp: 略過目錄"aaa" 8 [root@localhost home]# ls 9 aaa temp test 10 [root@localhost home]# cp -a aaa bbb 11 [root@localhost home]# ls 12 aaa bbb temp test 13 [root@localhost home]# cp -s test link 14 [root@localhost home]# ls 15 aaa bbb link temp test 16 [root@localhost home]#
mv命令
mv命令既可以在不同的目錄之間移動文件或目錄,也可以對文件和目錄進行重命名,是Move的縮寫。
基本語法
1 [root@localhost ~]# mv [選項] 源文件 目標文件
選項說明
1 -f:強制覆蓋,如果目標文件已經存在,則不詢問,直接強制覆蓋。 2 -i:交互移動,如果目標文件已經存在,則詢問用戶是否覆蓋,預設。 3 -n:如果目標文件已經存在,則不會覆蓋移動,而且不詢問用戶。 4 -v:顯示文件或目錄的移動過程。 5 -u:若目標文件已經存在,但兩者相比,源文件更新,則會對目標文件進行升級。
使用舉例
1 [root@localhost home]# ls 2 aaa bbb link temp test 3 [root@localhost home]# ls aaa 4 demo 5 [root@localhost home]# mv aaa/demo demo 6 [root@localhost home]# ls 7 aaa bbb demo link temp test 8 [root@localhost home]# ls aaa 9 [root@localhost home]# ls bbb 10 demo 11 [root@localhost home]# mv bbb/demo hello 12 [root@localhost home]# ls 13 aaa bbb demo hello link temp test 14 [root@localhost home]# ls bbb 15 [root@localhost home]# mv temp demo 16 mv:是否覆蓋"demo"? n 17 [root@localhost home]# ls 18 aaa bbb demo hello link temp test 19 [root@localhost home]# mv -f temp demo 20 [root@localhost home]# ls 21 aaa bbb demo hello link test 22 [root@localhost home]#
rm命令
rm命令可以永久性地刪除文件系統中指定的文件或目錄,是Remove的縮寫。在使用rm命令刪除文件或目錄時,系統不會產生任何提示信息。
註意,rm命令是一個具有破壞性的命令,因為rm命令會永久性地刪除文件或目錄,這就意味著,如果沒有對文件或目錄進行備份,一旦使用rm命令將其刪除,將無法恢復,因此,尤其在使用rm命令刪除目錄時,要慎之又慎。
基本語法
1 [root@localhost ~]# rm [選項] 文件或目錄
選項說明
1 -f:強制刪除(force),系統將不再詢問,而是直接刪除目標文件或目錄。 2 -i:在刪除文件或目錄之前,系統會給出提示信息,可以有效防止不小心刪除有用的文件或目錄。 3 -r:遞歸刪除,主要用於刪除目錄,可刪除指定目錄及包含的所有內容,包括所有的子目錄和文件。
使用舉例
1 [root@localhost home]# ls 2 aaa bbb demo hello 3 [root@localhost home]# rm demo 4 rm:是否刪除普通文件 "demo"?y 5 [root@localhost home]# ls 6 aaa bbb hello 7 [root@localhost home]# rm -f hello 8 [root@localhost home]# ls 9 aaa bbb 10 [root@localhost home]# rm bbb 11 rm: 無法刪除"bbb": 是一個目錄 12 [root@localhost home]# rm -r bbb 13 rm:是否刪除目錄 "bbb"?y 14 [root@localhost home]# ls 15 aaa 16 [root@localhost home]# rm -r aaa 17 rm:是否進入目錄"aaa"? n 18 [root@localhost home]# ls 19 aaa 20 [root@localhost home]# rm -rf aaa 21 [root@localhost home]# ls 22 [root@localhost home]#