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