命令格式
chmod有以下三種格式
- chmod [-cfvR] MODE[,MODE]... FILE...
- chmod [-cfvR] OCTAL-MODE FILE...
- chmod [-cfvR] --reference=RFILE FILE...
-cfvR
這四個引數的作用如下
- -c: 顯示權限有變更的資訊
- -f: 不顯示大多數錯誤資訊
- -v: 顯示所有權限變更的詳細資訊
- -R: 遞回操作(對于目錄及目錄下的所有檔案與子目錄進行相同的操作)
MODE
MODE的格式為 角色 + 操作 + 權限
其中角色有ugoa4種(角色可省略,默認為a):
* u: 檔案擁有者
* g: 與檔案擁有者同屬的用戶組(group)
* o: 除了 u/g 以外的其它人
* a: 所有人
操作有+-=3種:
* +: 增加權限
* -: 洗掉權限
* =: 取消權限
權限有rwxX4種:
* r: 讀取權限
* w: 寫入權限
* x: 執行權限
* X:
有了以上的知識點補充,我們給出幾個常用的MODE寫法:
chmod g+x filename表示給用戶組添加x權限chmod ug=rwx filename表示同時將檔案所有者與用戶組的權限設定為rwx權限chmod o-x filename表示取消 其它用戶的x權限chmod ug=rwx,o-x filename等價于同時執行了第二和第三行的配置chmod +w filename給所有人增加w權限(省略角色,則視為 a )
OCTAL_MODE
除了MODE, chmod還支持 OCTAL_MODE(八進制模式), OCTAL_MODE 使用3個八進制數來分別表示 ugo 的權限,
每個八進制數代表一個物件的 rwx 的設定,
將 rwx 的設定分別用三個二進制數表示,有權限則為1,無權限則為0,再將這3個陣列成的二進制數轉換為八進制,
具體對應關系如下:
| 權限 | 八進制 |
|---|---|
| --- | 0 |
| --x | 1 |
| -w- | 2 |
| -wx | 3 |
| r-- | 4 |
| r-x | 5 |
| rw- | 6 |
| rwx | 7 |
(最好在看到數字的時候就能夠知道對應的權限是什么,會大大提高作業的效率,)
例如 chmod 754 filename等價于 chmod u=rwx,g=rx,o=r filename
MODE 與 OCTAL_MODE 的區別在于:
OCTAL_MODE 可以方便地進行權限設定,書寫更簡單,但如果沒有熟練記憶的話計算的程序會影響設定權限的速度,
MODE 書寫起來相對繁瑣,但可讀性更高,而且除了進行權限的設定,還支持權限的靈活增減,不需要關心無需改變的權限情況,
參照已有檔案的權限進行設定權限--reference
假設我們需要給檔案 file_a 設定權限,此時發現同目錄下的檔案 file_b 的權限正是我們要設定給 file_a 的
此時我們就可以使用如下命令進行快速地配置
chmod --reference=file_b file_a
其它
查看 chmod 的版本
chmod --version
查看 chmod 的幫助資訊
chmod --help
問題
-X (大X)不是特別明白,文章的描述如下execute/search only if the file is a directory or already has execute permission for some user
看完仍然不是理解,知道的朋友麻煩在評論中告知一下,謝謝啦
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/162458.html
標籤:Linux
上一篇:Linux 常用命令記錄
