什么是硬鏈接,什么是軟鏈接?
軟鏈接
軟鏈接相當(dāng)于Windows的快捷方式,軟鏈接文件會(huì)將inode指向源文件的block,當(dāng)我們?cè)L問這個(gè)軟鏈接文件時(shí),其實(shí)訪問的是源文件本身。
對(duì)一個(gè)文件創(chuàng)建多個(gè)軟鏈接,其實(shí)就是多個(gè)inode指向同一個(gè)block。當(dāng)我們刪除軟鏈接文件時(shí),其實(shí)只是刪除了一個(gè)inode指向,并不會(huì)對(duì)源文件源文件造成影響,但如果刪除的是源文件則會(huì)造成所有軟鏈接文件失效。(原理類似于淺拷貝,拷貝的是地址,而不是真是的內(nèi)容)
# 使用場(chǎng)景
1.軟件升級(jí)
2.企業(yè)代碼發(fā)布
3.不方便目錄移動(dòng)
硬鏈接
若一個(gè)inode號(hào)對(duì)應(yīng)多個(gè)文件名,則稱這些文件為硬鏈接。換言之,硬鏈接就是同一個(gè)文件使用了多個(gè)別名,如下圖hard link 就是 file 的一個(gè)別名,他們有共同的 inode。拷貝的是inode號(hào)
PS:目錄不能創(chuàng)建硬鏈接,硬鏈接文件可以用rm命令刪除
硬鏈接與軟鏈接區(qū)別
1)ln命令創(chuàng)建硬鏈接,ln -s命令創(chuàng)建軟鏈接。
2)目錄不能創(chuàng)建硬鏈接,并且硬鏈接不可以跨越分區(qū)系統(tǒng)。
3)目錄軟鏈接特別常用,并且軟鏈接支持跨越分區(qū)系統(tǒng)。
4)硬鏈接文件與源文件的inode相同,軟鏈接文件與源文件inode不同。
5)刪除軟鏈接文件,對(duì)源文件及硬鏈接文件無(wú)任何影響。
6)刪除文件的硬鏈接文件,對(duì)源文件及鏈接文件無(wú)任何影響。
7)刪除鏈接文件的源文件,對(duì)硬鏈接無(wú)影響,會(huì)導(dǎo)致軟鏈接失效。
8)刪除源文件及其硬鏈接文件,整個(gè)文件會(huì)被真正的刪除。