Linux基礎命令之: Linux常用命令
7.chmod
(1)作用。
改變文件的訪問權限。
(2)格式。
chmod可使用符號標記進行更改和八進制數(shù)指定更改兩種方式,因此它的格式也有兩種不同的形式。
①符號標記:chmod[選項]…符號權限[符號權限]…文件
其中的符號權限可以指定為多個,也就是說,可以指定多個用戶級別的權限,但它們中間要用逗號分開表示,若沒有顯式指出則表示不作更改。
②八進制數(shù):chmod[選項]…八進制權限文件…
其中的八進制權限是指要更改后的文件權限。
(3)選項參數(shù)。
chmod主要選項參數(shù)如表2.16所示。
表2.16 chmod命令常見參數(shù)列表
選項 | 參數(shù)含義 |
-c | 若該文件權限確實已經更改,才顯示其更改動作 |
-f | 若該文件權限無法被更改也不要顯示錯誤信息 |
-v | 顯示權限變更的詳細資料 |
(4)使用實例。
chmod涉及文件的訪問權限,在此對相關的概念進行簡單的回顧。
在1.3.1節(jié)中已經提到,文件的訪問權限可表示成:-rwxrwxrwx。在此設有3種不同的訪問權限:讀(r)、寫(w)和運行(x)。3個不同的用戶級別:文件擁有者(u)、所屬的用戶組(g)和系統(tǒng)里的其他用戶(o)。在此,可增加一個用戶級別a(all)來表示所有這3個不同的用戶級別。
①第一種符號連接方式的chmod命令中,用加號“+”代表增加權限,用減號“−”代表刪除權限,等于號“=”代表設置權限。
例如,原先筆者系統(tǒng)中有文件uClinux20031103.tgz,其權限如下所示。
[root@localhosttest]#ls–l
-rw-r--r--1rootroot79708616Mar242005uClinux20031103.tgz
[root@localhosttest]#chmoda+rx,u+wuClinux20031103.tgz
[root@localhosttest]#ls–l
-rwxr-xr-x1rootroot79708616Mar242005uClinux20031103.tgz
可見,在執(zhí)行了chmod之后,文件擁有者除擁有所有用戶都有的可讀和執(zhí)行的權限外,還有可寫的權限。
②對于第二種八進制數(shù)指定的方式,將文件權限字符代表的有效位設為“1”,即“rw-”、“rw-”和“r--”的八進制表示為“110”、“110”、“100”,把這個二進制串轉換成對應的八進制數(shù)就是6、6、4,也就是說該文件的權限為664(三位八進制數(shù))。這樣對于轉化后八進制數(shù)、二進制及對應權限的關系如表2.17所示。
表2.17 轉化后八進制數(shù)、二進制及對應權限的關系
轉換后八進制數(shù) | 二進制 | 對應權限 | 轉換后八進制數(shù) | 二進制 | 對應權限 |
0 | 000 | 沒有任何權限 | 1 | 001 | 只能執(zhí)行 |
2 | 010 | 只寫 | 3 | 011 | 只寫和執(zhí)行 |
4 | 100 | 只讀 | 5 | 101 | 只讀和執(zhí)行 |
6 | 110 | 讀和寫 | 7 | 111 | 讀、寫和執(zhí)行 |
同上例,原先筆者系統(tǒng)中有文件genromfs-0.5.1.tar.gz,其權限如下所示。
[root@localhosttest]#ls–l
-rw-rw-r--1daviddavid20543Dec292004genromfs-0.5.1.tar.gz
[root@localhosttest]#chmod765genromfs-0.5.1.tar.gz
[root@localhosttest]#ls–l
-rwxrw-r-x1daviddavid20543Dec292004genromfs-0.5.1.tar.gz
可見,在執(zhí)行了chmod765之后,該文件的擁有者權限、文件組權限和其他用戶權限都恰當?shù)貙恕?/p>
(5)使用說明
n 使用chmod必須具有root權限。
想一想 | chmodo+xuClinux20031103.tgz是什么意思?它所對應的八進制數(shù)指定更改應如何表示? |
評論