一、檢視linux檔案屬性
用什麼檢視檔案的屬性呢?那就是“ls”指令,對于這個指令不知道你是否還有印象?
用root登陸系統,敲下“ls -al”,看看都有啥?
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISPrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdsATOfd3bkFGazxCMx8VesATMfhHLlN3XnxCMwEzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5SY0cjN4ADOjBDNzEDOlVjY5IjYlZTO3QTO3MjY2MjY38CX4AzLclDMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjL2M3Lc9CX6MHc0RHaiojIsJye.png)
ls -al 就是列出所有的檔案的詳細權限與屬性(包括隐藏檔案)
①第一列是檔案的權限;
其中:第一個字元代表檔案的類型:
d:代表是目錄
-:代表是檔案
l:代表是連接配接檔案(相當于windows裡面的快捷方式)
b:代表塊裝置(如硬碟)
c:代表字元裝置(如鍵盤,滑鼠等)
接下來的字元中,以三個為一組,均為”rwx“的三個參數的組合。分别是r:可讀;w:可寫;x:可執行。注意,這三個權限的位置不會改變,如果沒有權限,就是:”-“。(-rw-------隻有所有者才有讀和寫的權限,-rw-r--r--隻有所有者才有讀和寫的權限,組群和其他人隻有讀的權限,-rwx------隻有所有者才有讀,寫,執行的權限)
第一組為擁有者的權限,第二組為同群組的權限,第三組為其他非本群組的權限。
②第二列是連接配接數:每個檔案都會将他的權限和屬性記錄到檔案系統的inode中,每個檔案名都會連接配接到一個inode。這個連接配接數就是記錄有多少不同的檔案名連接配接到相同的一個inode号碼去了。
③第三列是擁有者,就是這個檔案所屬的擁有者賬号。
④第四列使用者組:表示這個檔案所屬的群組。
⑤第五列是這個檔案占用的容量大小,預設機關是bytes。
⑥第六列修改日期就是這個檔案最近被修改的日期。
⑦第七列檔案名是名字,以點 . 開頭的是隐藏檔案。
二、改變檔案屬性與權限
1. 改變檔案擁有者之chown指令
用法:chown –R [賬号名稱] [檔案或目錄]
參數:-R :遞歸,用于改變目錄。連同該目錄下所有的檔案都改變
舉例:改變/tmp/heetian 的擁有者為heetian這個使用者
改變檔案所有者:chown heetian ./heetian
2.改變所屬使用者組之chgrp指令
用法:chgrp -R [賬号名稱] [檔案或目錄]
舉例:把剛剛的heetian這個檔案所屬使用者組改成heetian:
三、改變檔案權限之 chmod 指令
用法:chmod xyz -R [檔案或目錄]
解釋:xyz是三個數字,比如chmod 755 ./heetian
-R :遞歸,和chown,chgrp裡面的-R是一樣
為了設定友善,linux裡面可以用數字來代表權限,那是什麼樣的關系呢?
每種身份(owner/group/others)各自的三個權限(r/w/x)分數是需要累加的,例如當權限為[-rwxrwxr--]分數則是:
owner(所有者):rwx=4+2+1=7
group(使用者組):rwx=4+2+1=7
others(其他使用者):r--=4+0+0=4
改變權限之二,使用符号類型:
仔細觀察會發現,ugo,分别代表user,group和others。
用法如下:
a代表ugo三個,即all的意思
檔案與目錄之權限意義
上面我們說了權限,那麼對于檔案和目錄來說,這些權限對他們都有什麼意義?
1、當一個一般檔案的權限為-rwxrwxrwx則表示這檔案的意義為?
其所有者,使用者組,其他使用者的權限都為可讀可寫可執行
2、将一個目錄及其下面所有的檔案的權限改為drwxr-xr-x,該如何下指令?
chmod 755 -R 目錄名
3、請檢視man chown,說明chown root:root /tmp/heetian.txt 的意思?
将/tmp/heetian.txt的擁有者和使用者組都改為root