一、硬鏈接
(推薦教程:linux教程)
由于 linux 下的文件是通過(guò)索引節(jié)點(diǎn)(inode)來(lái)識(shí)別文件,硬鏈接可以認(rèn)為是一個(gè)指針,指向文件索引節(jié)點(diǎn)的指針,系統(tǒng)并不為它重新分配 inode 。每添加一個(gè)一個(gè)硬鏈接,文件的鏈接數(shù)就加 1 。
不足:
1、不可以在不同文件系統(tǒng)的文件間建立鏈接;
2、只有超級(jí)用戶才可以為目錄創(chuàng)建硬鏈接。
二、軟鏈接
軟鏈接克服了硬鏈接的不足,沒(méi)有任何文件系統(tǒng)的限制,任何用戶都可以創(chuàng)建指向目錄的符號(hào)鏈接。因而現(xiàn)在更為廣泛使用,它具有更大的靈活性,甚至可以跨越不同機(jī)器、不同網(wǎng)絡(luò)對(duì)文件進(jìn)行鏈接。
不足:
因?yàn)殒溄游募性募穆窂叫畔?,所以?dāng)原文件從一個(gè)目錄下移到其他目錄中,再訪問(wèn)鏈接文件,系統(tǒng)就找不到了,而硬鏈接就沒(méi)有這個(gè)缺陷,你想怎么移就怎么移;還有它要系統(tǒng)分配額外的空間用于建立新的索引節(jié)點(diǎn)和保存原文件的路徑。
實(shí)際場(chǎng)景下,基本是使用軟鏈接。
二者之間的區(qū)別如下:
硬鏈接不可以跨分區(qū),軟件鏈可以跨分區(qū)。
硬鏈接指向一個(gè) inode 節(jié)點(diǎn),而軟鏈接則是創(chuàng)建一個(gè)新的 inode 節(jié)點(diǎn)。
刪除硬鏈接文件,不會(huì)刪除原文件,刪除軟鏈接文件,會(huì)把原文件刪除。