linux系統(tǒng)有兩種鏈接:
- 一種被稱為硬鏈接(Hard Link),相當(dāng)于一個人有多個名字缰贝。
- 另一種被稱為符號鏈接(Symbolic Link)符合鏈接也稱為軟鏈接,相當(dāng)于windows系統(tǒng)中的快捷方式(LNK)畔濒。
創(chuàng)建硬鏈接的方法
ln file1 file2
image.png
*硬鏈接次數(shù)由原來1變成變成2
符合鏈接的創(chuàng)建方法
ln -s file1 file2
image.png
符合鏈接次數(shù)沒有改變
image.png
一剩晴、inode是什么?
從系統(tǒng)磁盤上理解侵状,文件儲存在硬盤上赞弥,硬盤的最小存儲單位叫做"扇區(qū)"(Sector)。每個扇區(qū)儲存512字節(jié)(相當(dāng)于0.5KB)趣兄。
操作系統(tǒng)讀取硬盤的時候绽左,不會一個個扇區(qū)地讀取,這樣效率太低艇潭,而是一次性連續(xù)讀取多個扇區(qū)拼窥,即一次性讀取一個"塊"(block)。這種由多個扇區(qū)組成的"塊"蹋凝,是文件存取的最小單位鲁纠。"塊"的大小,最常見的是4KB鳍寂,即連續(xù)八個 sector組成一個 block改含。文件數(shù)據(jù)都儲存在"塊"中,那么很顯然迄汛,我們還必須找到一個地方儲存文件的元信息捍壤,比如文件的創(chuàng)建者、文件的創(chuàng)建日期鞍爱、文件的大小等等鹃觉。這種儲存文件元信息的區(qū)域就叫做inode,中文譯名為"索引節(jié)點(diǎn)"硬霍。
image.png
從上圖理解硬鏈接和軟件鏈接的區(qū)別:
1.根據(jù)剛才創(chuàng)建的硬鏈接文件b.txt,它和a.txt擁有不同的inode號帜慢,當(dāng)刪除、修改b.txt文件是唯卖,它會改變a.txt文件粱玲。也就是說,inode號指向同一個文件名拜轨。
2.對于軟鏈接來說抽减,c.txt和d.txt文件是擁有相同的inode號,當(dāng)刪除c.txt文件后橄碾,d.txt文件會指向一個空的文件卵沉。也就是說颠锉,軟件鏈接依賴于源文件。
3.硬鏈接不夸分區(qū)創(chuàng)建
image.png
4.軟鏈接可以夸分區(qū)
image.png
5軟鏈接的相對路徑是相對于軟件接的路徑史汗, 硬鏈接的相對路徑是相對于當(dāng)前路徑的路徑琼掠。在生產(chǎn)環(huán)境中多少使用軟鏈接。