linux基礎:文件屬性
linux裏面一切皆文件。
Linux文件屬性:
索引節點,文件類型,權限屬性,鏈接數,所歸屬的用戶和用戶組,最近修改時間等內容。
命令:ls -lhi
第一列:inode 索引節點編號(類似身份證,全國唯一),系統讀取文件時,首先通過文件名找到inode,然後才能讀取到文件內容。
第二列:文件的類型及權限,第一個字符為類型,後面9個字符為文件權限。加上 . 就是11個字符。
第一個字符:文件類型
後九個字符:文件的權限
.號 :跟selinux相關的標識,沒什麽用。
第三列:硬鏈接的數量,硬鏈接表示的是同一個文件的不同的訪問路口。
第四列:文件或目錄的擁有者(屬主);linux裏面文件和程序的存在必須要有用戶和組滿足相應的存在需求。
第五列:文件或目錄所屬的組(屬組);
第六列:文件或目錄的大小;
第七,八,九列:文件的修改時間,對應的find 參數 –mtime;訪問時間:atime 訪問的時間; 改變時間:ctime 屬性的改變時間;
第十列:文件的名稱;嚴格來講,文件名不算文件的屬性。
inode簡介:
硬盤存儲數據:分區,格式化創建文件系統,然後存數據。
inode——索引節點(inode index)。每個存儲設備的分區,被格式化後,創建文件系統,一般包括兩部分:① inode
block 是用來存儲實際數據的。
inode 是用來存儲數據屬性的。inode屬性信息包括:文件大小,屬主,屬組,文件權限,文件類型,修改時間,還包含指向文件實體的指針的功能(inode節點——block的對應關系),但是,inode不包含文件名稱。
打個比方,比如一本書,存儲設備和分區就相當於這本書,block相當於書中的內容,而node就相當於這本書前面的目錄,一本書有很多內容,一個知識點可能有很多頁,如果想查找某部分或者是某個知識點的內容,我們一般先查書的目錄,通過目錄能更快的找到我們想要看的知識點的內容。
查看inode
1. 使用stat 接文件名,查看文件屬性。
2. ls –i查看文件的inode信息。
inode大小:
CentOS5 :128字節
CentOS6 :256字節
inode 的大小在文件系統被格式化之後就無法更改了,格式化前可以指定inode大小,但是一般工作沒有這個需求。
不同的CentOS版本inode大小不同。
dumpe2fs:查看分區的信息。
df –i: 查看磁盤的inode使用量;
df –h: 查看磁盤的空間使用量。
磁盤空間是否滿了,是由兩項參數決定的,一個是inode是否滿了,一個是block是否滿了,其中一個滿了,就不能再存儲文件了。
小結:
1. 磁盤被分區並格式化建立好文件系統後,會生成一定數量的inode 和block。
2. inode 是索引節點,作用是存放文件的屬性信息以及作為文件的索引(指向文件實體)。
3. ext3 / ext4 文件系統的 block存放的是文件的實際內容。
4. inode 是磁盤上的一塊存儲空間,CentOS6 非啟動分區默認是256字節,C5是128字節,幾乎不用去修改。
5. inode 表現形式是一串數字, 不同的文件,對應的inode號在文件系統裏面是唯一的。
6. inode 相同的文件,互為硬鏈接文件。可以認為是一個文件的不同入口。
7. ext3 / ext4文件系統,一個文件被創建後至少要占用一個inode 和一個 block,
8. ext3 / ext4文件系統,正常情況下一個文件只有一個inode號。
9. block的大小一般有 1k,2k,4k,其中引導分區為1k,其他普通分區為4k
10.如果文件很大(4GB),可能占用很多個block,如果文件很小(0.01KB),至少占用一個block,並且這個block的剩余空間都浪費了。
11.inode大小和總量查看。
a) dumpe2fs /dev/sda3|egrep –i “block size|inode size”
b) dumpe2fs /dev/sda3|egrep –i ”block count|inode count”
c) 查看inode的總量和使用量命令df –i
d) 格式化的時候指定inode的大小:mkfs.ext4 –b 2048 –i 256 /dev/sdb(基本上用不上)
linux基礎:文件屬性