Linux常用命令整理:檔案目錄管理
據說,你要對Linux檔案做的事情,98%都記錄在這篇文章裡了。
1.ls命令
最常見的命令,相信剛進入linux命令列介面的時候,都要用這個命令看看當前目錄下都有哪些檔案吧。
-
名稱:List
-
含義:列出當前目錄(或者指定目錄)下的檔案或目錄列表,通過不同的引數展示許可權等目錄相關資訊,以及排序規則。
-
格式:ls [引數]、ls [目錄名] [引數]
-
引數:
引數 含義 -l 除了檔名之外,還將檔案的許可權、所有者、檔案大小等資訊詳細列出來。可以縮寫成我們常用的ll命令 -a 列出目錄所有檔案,包含以.開始的隱藏檔案 -A 列出除.及..的其它檔案 -r 反序排列 -t 以檔案修改時間排序 -S 以檔案大小排序 -h 以易讀大小顯示,與-l一起使用 x* 列出當前目錄中所有以“x”開頭的目錄
2.cd命令
也是最常見的命令,無需多言。
-
名稱:Change Directory
-
含義:切換到指定路徑
-
格式:cd [目錄名]
-
例子:
-
切換到home路徑:cd或者cd ~
-
切換到指定路徑:cd /bin/(/bin是完整路徑名)
-
切換到當前路徑下的目錄:cd learncd/(learncd是當前路徑下的目錄名)
-
切換到上一級目錄:cd ../
-
3.pwd
一般用於在目錄中迷失方向的時候,需要找找自己在哪
- 名稱:Print Working Directory
- 含義:列印當前工作目錄的完整路徑名
- 格式:pwd
4.mkdir
-
名稱:Make Directory
-
含義:建立目錄
-
格式:mkdir [引數] [目錄]
-
引數:
引數 含義 -p 建立的路徑中間有不存在的路徑,則自動建立其中的父目錄 -v 建立目錄成功後展示結果文案(感覺比較雞肋)
5.rm
刪除命令很危險,使用rm -rf的時候一定要慎重。畢竟跑路是一件比較麻煩的事情。
-
名稱:Remove
-
含義:刪除檔案
-
格式:rm [引數] [檔案路徑]
-
引數:
引數 含義 -i 刪除前會提示確認是否刪除,一般適用於一次性刪除多個檔案 -r 遞迴的刪除目錄和目錄下的檔案 -f 強制刪除,不做任何提示
6.cp
cp是copy,不是炒的那個cp。
-
名稱:Copy
-
含義:將原始檔/目錄複製到目標檔案/目錄
-
格式:cp [引數] [原始檔] [目標目錄]、cp [引數] [原始檔] [目標目錄下檔名](可以將複製後的檔案指定為新的名字)
-
引數:
引數 含義 -i 複製指定的目標檔案有同名檔案,會有提示 -r 複製目錄及目錄內所有專案 -l 只是建立連結,不是複製檔案。如果修改原始檔,則開啟的目標連結會看到改動。 -
例子:
7.mv
-
名稱:Move
-
含義:移動檔案/目錄到指定目錄下,並支援重新命名
-
格式:mv [引數] [原始檔] [目標目錄]
-
引數:
引數 含義 -i 移動到指定的目標檔案有同名檔案,會有提示 -b 移動到指定的目標檔案有同名檔案,會將已有的同名檔案備份。備份的檔案,在原有檔名後面有~符號。 -n 移動到指定的目標檔案有同名檔案,則不進行移動
8.chmod
許可權控制命令,還是稍微有些複雜,這裡需要多多科普一下。
-
名稱:change mode
-
含義:修改使用者對檔案/目錄的訪問許可權
-
格式:chmod [引數] [使用者型別] [許可權] [檔案]
- 其中,使用者型別包括:u-檔案所有者;g-檔案所有者所在的使用者組;o-其他使用者;a-全部使用者
-
引數:
引數 含義 -c 許可權改變時,會有提示 -R 變更指定目錄及子目錄下的全部檔案
在這裡需要對Linux的檔案許可權做一下介紹。
Linux中的一個使用者,可以屬於多個使用者組。一個使用者組裡可以有多個使用者。所以對於一個檔案來說,Linux將擁有其許可權的使用者,分為了三個級別。分別是:檔案所有者(Owner)、使用者組(Group)、其它使用者(Other Users)。對於每一級別的使用者,可以設定屬於該級別使用者的許可權,通過9個許可權位來設定。
舉個例子,我們用ll命令來檢視檔案資訊,如圖:
其中每一列的含義都標註在圖片上了。
最前面的這一串-rwxrwxrwx,就代表fileA當前的許可權。每一個字元都代表什麼意思呢?
其中第一位的-代表檔案,d代表目錄,l代表連結。2到4位是檔案所有者(Owner)的許可權,5到7位是使用者組(Group)的許可權,8到10位是其它使用者(Other Users)的許可權。r代表read讀許可權,w代表write寫許可權,x代表execute執行許可權,-代表沒有該許可權位的許可權。具體直接看圖:
所以我們就知道了,如果想修改一個檔案的許可權,只需要修改指定使用者級別的對應的許可權位就可以了。
可以使用+增加許可權,使用-刪除許可權,使用=指定許可權。
比如對於剛才的那個檔案fileA:
- 我想讓其他使用者只擁有讀許可權,可以用命令:chmod o=r fileA
- 我想刪掉使用者組的寫許可權,可以用命令:chmod g-w fileA
- 我又想讓其他使用者擁有寫許可權執行許可權,可以用命令:chmod o+wx fileA
那傳說中經常用到的 chmod 777 是啥意思呢?
你可以把許可權的rwx的每一個許可權位對應成二進位制的位。有許可權則為1,無許可權則為0。這樣每一類使用者的三個許可權位就可以轉換成一個二進位制數,同時也可以轉換成八進位制數。
例如:
許可權 | 二進位制 | 八進位制 |
---|---|---|
rwx | 111 | 7 |
r-x | 101 | 5 |
--x | 001 | 1 |
因此,我們就可以通過八進位制的數字,來指定檔案的許可權了。
比如對於剛才的那個初始許可權為-rwxrwxrwx的檔案fileA:
- 我想讓其他使用者只擁有讀許可權,也就是最終許可權為-rwxrwxr--,可以用命令:chmod 774 fileA
- 我想刪掉使用者組的寫許可權,也就是最終許可權為-rwxr-xr--,可以用命令:chmod 754 fileA
- 我又想讓其他使用者擁有寫許可權執行許可權,也就是最終許可權為-rwxr-xrw-,可以用命令:chmod 756 fileA
好啦,以上就是絕大部分你在使用Linux時,涉及到的命令了。如果有其他的用法和補充,歡迎在評論區裡交流。後續還會有其他型別的命令整理,可以持續關注哈。