檔案有檔名和資料,在linux上被分成兩個部分:使用者資料(user data)與元資料(metadata)
使用者資料:檔案資料塊(data block),資料塊是記錄檔案真實內容的地方,我們將其稱為block
元資料:檔案的附加屬性,例如:檔案大小,建立時間,屬組,屬主...等,我們稱其為inode
元資料所佔的磁碟空間叫inode,真實資料所佔的磁碟空間叫block
block 是有單位的,乙個block 是4 k,他的大小是可以修改的
小檔案過多,可能導致inode空間被佔滿,這樣block 就不能使用了
小檔案過多也會導致很多block沒有被佔滿
小檔案過多,inode先被佔滿,檔案很大,block先被佔滿
磁碟清理是釋放沒有佔滿的block,並不會刪除使用者的真實資料
硬鏈結和原始檔是無法區分的,兩個檔案具有相同的大小、建立時間等資訊
df -h 使用了 -h 選項,因此檔案系統的各種容量資料,會以人們習慣的單位(通常使用 gb 或 mb kb)顯示出來
df -i 不用硬碟容量顯示,而是以含有 inode 的數量來顯示
在linux中,inode
是檔案元資料的一部分,但其並不包含檔名(檔名在本地的資料庫裡面),inode
號即索引節點號
檔名僅是為了方便人們的記憶和使用,系統或者程式通過inode
號尋找正確的檔案資料塊。
軟鏈結(符號鏈結) 軟鏈結相當於windows的快捷⽅式(乙個inode號指向另乙個不同的inode號),軟鏈結⽂件會將 inode 指向源⽂件的 block 1.那麼當我們對⼀個⽂件建立多個軟鏈結時,其實就是多個 inode 指向同⼀個 block 。 2.那麼當我們 刪除軟鏈結⽂件時,其實只是刪除了⼀個 inode 的指向,並不會對源⽂件造成影響。 3.如果我們刪除的 是源⽂件,那麼該⽂件的所有軟鏈結⽂件都會失效。
硬鏈結
若乙個inode
號對應多個檔名,則稱這些檔案為硬鏈結。換句話說,硬鏈結就是同乙個檔案使用了多個別名
cp和硬鏈結的區別
cp拷貝的原始檔和目標檔案inode號不同,硬鏈結檔案與原始檔inode號相同,cp拷貝的原始檔和目標檔案的硬鏈結數是1,硬鏈結檔案的硬鏈結數是2
軟鏈結的作用
1.軟體公升級
2.設定開機自啟動
ln -s /usr/lib/systemd/system/xx.services /etc/systemd/system/multi-user.target.wants/xx.services
通過硬鏈結數判斷乙個檔案的型別
[root@lb01 ~]# ll
total 8
drwxr-xr-x 2 root root 6 feb 2 12:52
-rw-------. 1 root root 1444 may 1 2020 anaconda-ks.cfg
drwxr-xr-x 3 root root 16 feb 2 12:53 kk
-rw-r--r-- 1 root root 469 may 1 2020 xiugaizhuji.sh
1.硬鏈結數是1,那麼這就是乙個普通的檔案2.硬鏈結數是2,那麼這就是乙個硬鏈結檔案或者空目錄
3.硬鏈結數是n(n>2),那麼這就是乙個目錄
Linux 硬鏈結和軟鏈結
硬鏈結是通過鏈結原始檔的索引節點來進行有效鏈結。linux系統中的每個檔案都有乙個自己的索引節點,如同資料庫中的每條記錄都有自己的唯一索引一樣。自我感覺硬鏈結就像是windows下乙個檔案的拷貝,唯一不同的地方是多個該檔案的拷貝 硬鏈結 通過原始檔的索引節點來共享和更新自己的內容,一旦該節點上的任一...
Linux軟鏈結和硬鏈結
1.linux鏈結概念 linux鏈結分兩種,一種被稱為硬鏈結 hard link 另一種被稱為符號鏈結 symbolic link 預設情況下,ln命令產生硬鏈結。硬連線 硬連線指通過索引節點來進行連線。在linux的檔案系統中,儲存在磁碟分割槽中的檔案不管是什麼型別都給它分配乙個編號,稱為索引節...
Linux軟鏈結和硬鏈結
1.linux鏈結概念 linux鏈結分兩種,一種被稱為硬鏈結 hard link 另一種被稱為符號鏈結 symbolic link 預設情況下,ln命令產生硬鏈結。硬鏈結 硬鏈結指通過索引節點來進行鏈結。在linux的檔案系統中,儲存在磁碟分割槽中的檔案不管是什麼型別都給它分配乙個編號,稱為索引節...