Linux/Unix 文件管理命令(二)
ide
chgrp : 用於變動文件或目錄的所屬羣組。ui
文件或目錄權限的掌控以擁有者及所屬羣組來管理。設置方式採用羣組名稱或羣組識別碼皆可。spa
語法:遞歸
chgrp [-cfhRv][--help][--version][所屬羣組][文件或目錄...] 或 chgrp [-cfhRv][--help][--reference=<參考文件或目錄>][--version][文件或目錄...]
參數:it
-c或--changes 效果相似"-v"參數,但僅回報更改的部分。io
-f或--quiet或--silent 不顯示錯誤信息。class
-h或--no-dereference 只對符號鏈接的文件做修改,而不更動其餘任何相關文件。test
-R或--recursive 遞歸處理,將指定目錄下的全部文件及子目錄一併處理。file
-v或--verbose 顯示指令執行過程。權限
--help 在線幫助。
--reference=<參考文件或目錄> 把指定文件或目錄的所屬羣組所有設成和參考文件或目錄的所屬羣組相同。
--version 顯示版本信息。
eg:
1:改變文件的羣組屬性。
chgrp -v bin log2017.log
輸出:
[root@localhost test]# ll
---xrw-r-- 1 root root benet 9-7 16:34 log2017.log
[root@localhost test]# chgrp -v bin log2017.log
"log2017.log" 的所屬組已更改成 bin
[root@localhost test]# ll
---xrw-r-- 1 root bin benet 9-7 16:34 log2017.log
說明:
將log2017.log文件有root羣組改成bin羣組。
2.根據制定文件改變文件的羣組屬性。
chgrp --reference=log2017.log log1996.log
輸出:
[root@localhost test]# ll
---xrw-r-- 1 root bin benet 9-7 16:38 log2017.log
-rw-r--r-- 1 root root 61 9-7 16:38 log1996.log
[root@localhost test]# chgrp --reference=log2017.log log1996.log
[root@localhost test]# ll
---xrw-r-- 1 root bin benet 9-7 16:38 log2017.log
-rw-r--r-- 1 root bin 61 9-7 16:38 log1996.log
說明:
改變文件log1996.log 的羣組屬性,使得文件log1996.log的羣組屬性和參考文件log2017.log的羣組屬性相同。
chmod: 文件調用權限分爲三級:文件擁有者、羣組和其餘。利用chmod能夠籍以控制文件如何被他人所調用。
使用權限:
全部使用者。
語法:
chmod [-cfvR] [--help] [--version] mode file...
參數:
mode:權限設定子串,格式以下:
[ugoa...][[+-=][rwxX]...][,...]
u 表示該文件的擁有者,g 表示與該文件的擁有者屬於同一個羣體(group)者,o 表示其餘之外的人,a 表示這三者皆是。
+ 表示增長權限、- 表示取消權限、= 表示惟一設定權限。
r 表示可讀取,w 表示可寫入,x 表示可執行,X 表示只有當該文件是個子目錄或者該文件已經被設定過爲可執行。
-c : 若該文件權限確實已經更改,才顯示其更改動做
-f : 若該文件權限沒法被更改也不要顯示錯誤訊息
-v : 顯示權限變動的詳細資料
-R : 對目前目錄下的全部文件與子目錄進行相同的權限變動(即以遞迴的方式逐個變動)
--help : 顯示輔助說明
--version : 顯示版本
eg:
將文件 yuping.txt 設爲全部人皆可讀取 :
chmod ugo+r yuping.txt
將文件 yuping.txt 設爲全部人皆可讀取 :
chmod a+r yuping.txt
將文件 yuping.txt 與 chutianyi.txt 設爲該文件擁有者,與其所屬同一個羣體者可寫入,但其餘之外的人則不可寫入 :
chmod ug+w,o-w yuping.txt chutianyi.txt
將 yuping.py 設定爲只有該文件擁有者能夠執行 :
chmod u+x yuping.py
將目前目錄下的全部文件與子目錄皆設爲任何人可讀取 :
chmod -R a+r *
此外chmod也能夠用數字來表示權限如 :
chmod 777 file
語法爲:
chmod abc file
其中a,b,c各爲一個數字,分別表示User、Group、及Other的權限。
r=4,w=2,x=1
若要rwx屬性則4+2+1=7;
若要rw-屬性則4+2=6;
若要r-x屬性則4+1=5。
chmod a=rwx file
和
chmod 777 file
效果相同
chmod ug=rwx,o=x file
和
chmod 771 file
效果相同
若用chmod 4755 filename可以使此程序具備root的權限