Linux 軟鏈結和硬鏈結

2022-01-10 11:13:27 字數 1840 閱讀 7159

檔案有檔名和資料,在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的檔案系統中,儲存在磁碟分割槽中的檔案不管是什麼型別都給它分配乙個編號,稱為索引節...