linux的文件属性和权限学习——分析ls命令结果
轉自:?http://blog.csdn.net/daheiantian/article/details/5974962
最近閱讀《鳥哥的linux私房菜》,確實是一本好書,使自己在文件屬性和權限方面有了較深的理解,總結如下。
(注:本篇博文的圖片來自于《鳥哥的linux私房菜》一書)
一、提綱
本篇博文主要包含以下幾個部分:
1.???用戶和用戶組的概念;
2.?? 文件屬性;
3.?? 目錄與一般文件的區別;
4.?? ls命令的使用詳解;?
二、用戶和用戶組
?????linux的系統是“多用戶、多任務環境”的,也就是說“linux系統允許多個用戶同時使用系統,并且可以同時執行不同的任務”。所以為了確保各個用戶的文件安全,?linux系統具有非常嚴格的文件權限管理機制。
主要體現在兩個方面:
1.?? 對文件操作的權限:
三種: 讀、寫、執行。
2.?? 文件的訪問方式:
三種: owner/group/other。
讀、寫、執行的操作權限比較容易理解,主要是文件的訪問方式。它們的含義如下:
- 擁有者 owner
也就是文件的所有者,通常是建立文件的用戶。在linux系統中,每個文件都有一個所有者。每一個用戶都會被分配唯一的uid。
- 用戶組
一個用戶組包含若干用戶。值得注意的是:一個用戶也可以屬于多個用戶組,也可以不屬于任何用戶組。每一個用戶組都會被分配唯一的gid。
- 其他人
?對于一個文件來說,如果某用戶既不是owner,也和owner不在同一個用戶組,那么該用戶對于文件來說就是其他人。?
另外:在linux系統中,
???????? ①各個用戶賬號的信息都保存在/etc/passwd文件中;
???????? ②密碼保存在/etc/shadow文件中;
???????? ③用戶組信息保存在/etc/group文件中。?
三、? 文件屬性?
在命令行里執行命令"ls -al ",我們會看到一個詳細的列表,列表的每一行的形式為:
?
[c-sharp]?view plaincopyprint?
其中各個部分的含義如下圖:
??
把從左到右依次編號,各個字段的含義如下:
1. ? 文件的屬性,一共有10個屬性,具體含義見下圖:
??
- ? 第一個屬性,表示這個文件的類型,常見的有:文件、目錄或連接文件等。
"?d ":?? 表示是一個 目錄(directory);
" - ":?? 表示一個 文件;
"?l ":??? 表示一個連接文件(link file);??
- 后九個屬性中,每三個位一組,"r"表示可讀(read)、"w"表示可寫(write)、"x"表示可執行(excute)。
第一組為“擁有者owner的權限”;
第二組為“同用戶組的權限”;
第三組為“其他人的權限”;
綜合這兩點:上面圖中的的10個屬性含義為:是一個文件,這個文件的“擁有者”可讀、可寫、可執行, “同用戶組的人”也是可讀、可寫、可執行,但是“其他人”沒有任何權限。?
2.?? 第二列表示鏈接占用的節點,這個主要是和link node有關,初學linux的可以先不用研究。?
3.?? 第三列表示文件的“擁有者”,即owner。?
4.?? 第四列表示擁有者的“用戶組”。?
5.?? 第五列表示這個文件的大小。?
6.?? 第六列表示文件的最后“修改時間”(即modification time, 簡稱mtime),對于新創建的文件就是指其創建的時間。?????
補充:linux系統“文件時間”主要包括三個內容:
修改時間(modification time, 簡稱mtime):當前文件“內容數據”更改時,這個屬性被更新。使用ls命令顯示的時間就是“修改時間mtime ”。
狀態時間(status time, 簡稱ctime):當文件狀態(status)改變時,這個屬性被更新。例如:更新文件的權限和屬性時。
訪問時間(access time, 簡稱atime):當讀取文件內容時,這個屬性被更新。
?
注意:如果只是更改文件的內容,“狀態時間ctime ”會改變,但是“修改時間mtime”是不會改變,因為文件的內容數據并沒有變化。
7.?? 第七列就是文件的文件名。注意:在linux系統中,如果一個文件名以"."開頭,那么這個文件就是隱藏文件,這點與windows不同。?
四、? 目錄與一般文件的區別
在linux中,目錄也屬于文件。針對目錄文件,r/w/x 的含義與一般文件略有不同。
- r? (read contents in directory):擁有這個權限,就能夠讀取目錄結構,也就是可以使用ls命令將目錄內容列出來。
- w?? (modify contents of directory):擁有這個權限,可以更改目錄結構。常見的操作為:
--- 建立新的文件和目錄;
--- 刪除文件和目錄;
--- 重命名文件和目錄;
--- 移動文件和目錄;
- x? (access directory):決定這能否進入目錄。如果使用的賬戶對某個目錄沒有x權限,那么使用cd命令的時候,就無法進入目錄。 比如建立一個文件夾tmp 默認屬性是751,chmod 551 tmp,則不具有w權限,這里的w的權限是指對于tmp內部不具有w權限,也就是說mv tmp tmp1是可以的,因為沒有對tmp內部操作。但是touch tmp/aa就不行了,因為對tmp內部不具有w 其實這rwx三個權限均是對文件夾內部而言 對于可執行文件而言,必須具有的權限是rx
在《鳥哥的linux私房菜》書中,提供了很好的例子,截圖如下:
?
?
?五、??? ls命令的使用詳解
?ls就是list的縮寫,用于顯示文件和目錄。這個命令時用的非常多的一條命令,類似于windows中的dir(現在不少linux版本中也提供了dir命令),其中dir是directory的縮寫。?
常用的參數有
[c-sharp]?view plaincopyprint?
?鳥哥對于ls命令使用的例子為:
??
?
?
?
另外:在很多linux版本中,由于"ls -l"非常常用,所以常常可以簡寫為"ll"(兩個字幕L的小寫形式)。
總結
以上是生活随笔為你收集整理的linux的文件属性和权限学习——分析ls命令结果的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 单链表相交和环
- 下一篇: Linux进程间通信——管道