Linux常用檔案許可權命令詳解

newknight發表於2022-03-07

pwd

pwd命令用於獲取當前工作目錄的絕對路徑。

使用示例:

pwd

效果如下圖:

cd

cd命令用於切換工作目錄。

使用示例:

cd 萬貓學社/

效果如下圖:

其中在路徑表示時, 一個半形句號(.)表示當前目錄,例如路徑./one/more等同於one/more;兩個半形句號(..)表示上級目錄,例如路徑/one/more/../society等同於/one/society,其中more和society目錄同級。

cd命令的預設引數為~,符號~表示當前使用者的家目錄。當root使用者登入時,命令cdcd ~cd /root執行效果相同。

ls

ls命令用於顯示指定工作目錄下的內容。

命令格式:ls [引數] [目錄名]

引數說明:

引數 說明
-a 顯示所有檔案及目錄(包括隱藏檔案)
-l 將檔案的許可權、擁有者、檔案大小等詳細資訊列出(ll等同於ls -l
-r 將檔案反序列出(預設按英文字母正序)
-t 將檔案按建立時間正序列出
-R 遞迴遍歷目錄下檔案

使用示例:

  1. 檢視當前目錄下的所有檔案(包括隱藏檔案)。
ll -a

效果如下圖:

  1. 檢視Linux系統上的檔案、目錄和裝置的許可權。
ls -l

效果如下圖:

上圖顯示的第一列就是檔案許可權資訊,共11位字元,分5部分。

第1位表示存檔型別,d表示目錄,-表示一般檔案。
第2~4位表示當前使用者的許可權。
第5~7位表示同使用者組的使用者許可權。
第8~10位表示不同使用者組的使用者許可權。
第11位是一個半形句號.,表示SELinux安全標籤。
使用者許可權每組三位,rwx分別表示讀、寫、執行許可權,對應八進位制表示為4、2、1。

例如onemore目錄的root使用者許可權為drwxr-xr-x,則表示:

該目錄對root使用者具有讀寫和執行所有許可權,該目錄對root組其他使用者有讀和執行許可權,該目錄對其他使用者有讀和執行許可權。
所以該許可權表示對應八進位制許可權表示為:755(當前使用者的許可權:4+2+1=7,同使用者組的使用者許可權:4+1=5,不同使用者組的使用者許可權:4+1=5)。

chmod

chmod命令用於修改檔案許可權,-R引數以遞迴方式對子目錄和檔案進行修改。

命令格式:chmod 許可權設定字串 檔名

其中,許可權設定字串的格式為:

[ugoa...][[+-=][rwxX]...][,...]

其含義為:

  • u 表示該檔案的擁有者,g 表示與該檔案的擁有者屬於同一使用者組的使用者,o 表示其他以外的人,a 表示這三者皆是。
  • + 表示增加許可權、- 表示取消許可權、= 表示唯一設定許可權。
  • r 表示可讀取,w 表示可寫入,x 表示可執行,X 表示只有當該檔案是個子目錄或者該檔案已經被設定過為可執行。

使用示例:

新建名為onemore.sh的Shell指令碼,該指令碼將會輸出萬貓學社

echo "echo '萬貓學社'" > onemore.sh

ll命令可以看到onemore.sh沒有執行許可權,直接執行會報Permission denied錯誤。

效果如下圖:

onemore.sh檔案增加當前使用者的執行許可權。

chmod u+x onemore.sh

有了執行許可權之後就可以直接執行了。

效果如下圖:

image.png

onemore.sh檔案撤銷當前使用者的執行許可權。

chmod u-x onemore.sh

效果如下圖:

image.png

tree

tree命令用於檢視建立後的目錄結構。

使用示例:

tree

效果如下圖:

touch

touch命令用於修改檔案或者目錄的時間屬性,包括存取時間和更改時間。若檔案不存在,系統會建立一個新的檔案。

命令格式:touch [引數] [檔案]

引數說明:

引數 說明
-c 如果指定檔案不存在,不會建立新檔案
-r 使用參考檔案的時間記錄
-t 設定檔案的時間記錄

使用示例:

建立4個空檔案。

touch 萬.txt 貓.txt 學.txt 社.txt

效果如下圖:

mkdir

mkdir命令用於新建子目錄。-p引數確保目錄名稱存在,不存在的就新建一個。

使用示例:

新建目錄o/n/e/m/o/r/e/,並使用tree命令檢視建立後的目錄結構。

mkdir -p o/n/e/m/o/r/e/
tree

效果如下圖:

cp

cp命令主要用於複製檔案或目錄。

命令格式:cp [引數] [原始檔] [目標檔案]

引數說明:

引數 說明
-d 複製時保留連結
-f 覆蓋已經存在的目標檔案而不給出提示
-i 覆蓋前詢問
-p 除複製檔案的內容外,還把修改時間和訪問許可權也複製到新檔案中
-r 複製目錄及目錄內的所有專案

使用示例:

首先建立目錄o/n/e/m/o/r/e/

mkdir -p o/n/e/
mkdir -p m/o/r/e/

效果如下圖:

再將目錄m中的所有內容複製到目錄o/n/e/中。

cp -r m o/n/e/

效果如下圖:

rm

rm命令用於刪除一個檔案或者目錄。

命令格式:rm [引數] [檔案]

引數說明:

引數 說明
-i 刪除前逐一詢問確認
-f 無需確認,直接刪除
-r 刪除目錄下所有檔案

使用示例:

  1. 無需確認直接刪除以.txt結尾的檔案。
rm -rf *.txt

效果如下圖:

  1. 無需確認直接刪除目錄o及其目錄下所有子目錄和檔案。
rm -rf o

效果如下圖:

mv

mv命令用來為檔案或目錄改名、或將檔案或目錄移入其它位置。

命令格式:mv [引數] [原始檔] [目標檔案]

引數說明:

引數 說明
-i 若指定目錄已有同名檔案,則先詢問是否覆蓋舊檔案
-f 如果目標檔案已經存在,不會詢問而直接覆蓋

使用示例:

  1. 將檔名萬貓學社.txt改為onemore.txt
touch 萬貓學社.txt
mv 萬貓學社.txt onemore.txt

效果如下圖:

  1. 先建立目錄o/n/e/m/o/r/e/,將目錄m中的所有內容移動到目錄o/n/e/中。
mkdir -p o/n/e/
mkdir -p m/o/r/e/
mv m o/n/e/

效果如下圖:

rename

rename命令用字串替換的方式批量改變檔名。

命令格式:rename 原字串 目標字串 檔案列表

使用示例:

先建立4個空檔案,再將當前目錄下所有.txt檔案字尾都改為.log

touch 萬.txt 貓.txt 學.txt 社.txt
rename .txt .log *

效果如下圖:


竟然已經看到這裡了,你我定是有緣人,留下你的點贊關注,他日必成大器。

微信公眾號:萬貓學社

微信掃描二維碼

關注後回覆「電子書」

獲取12本Java必讀技術書籍

Linux常用檔案許可權命令詳解

相關文章