{eval=Array;=+count(Array);}
1,軟鏈接可以理解為windows下的快捷方式。
軟鏈接文件的大小和創(chuàng)建時(shí)間和源文件不同。軟鏈接文件只是一個(gè)從軟鏈接到源文件的鏈接關(guān)系。
刪除了源文件,軟鏈接文件也不能用了。
創(chuàng)建軟鏈接:ln -s 源文件 目標(biāo)文件
2,硬鏈接相當(dāng)于復(fù)制了源文件而且會(huì)同步更新。
硬鏈接文件和源文件的大小和創(chuàng)建時(shí)間一樣。硬鏈接文件的內(nèi)容和源文件的內(nèi)容完全相同。
刪除了源文件,硬鏈接文件還能用。
創(chuàng)建硬鏈接:ln 源文件 目標(biāo)文件
軟鏈接就好比個(gè)標(biāo)簽,只是告訴你文件在哪兒,然后按標(biāo)簽去找文件,不幸的是文件可能已經(jīng)不存在了,但標(biāo)簽還在,可能找不到文件;硬連接就好像是起了個(gè)別名,只要有一個(gè)別名在,文件就是存在的,只要有硬連接在,文件就存在,不可能有找不到文件的情況。
在Linux系統(tǒng)中,內(nèi)核為每一個(gè)新創(chuàng)建的文件分配一個(gè)Inode(索引結(jié)點(diǎn)),每個(gè)文件都有一個(gè)惟一的inode號(hào)。文件屬性保存在索引結(jié)點(diǎn)里,在訪問文件時(shí),索引結(jié)點(diǎn)被復(fù)制到內(nèi)存中,從而實(shí)現(xiàn)文件的快速訪問。
鏈接是一種在共享文件和訪問它的用戶的若干目錄項(xiàng)之間建立聯(lián)系的一種方法。Linux中包括兩種鏈接:硬鏈接(Hard Link)和軟鏈接(Soft Link),軟鏈接又稱為符號(hào)鏈接(Symbolic link)。
硬鏈接說白了是一個(gè)指針,指向文件索引節(jié)點(diǎn),系統(tǒng)并不為它重新分配inode。同一個(gè)文件的多個(gè)硬鏈接,它們具有同樣的索引節(jié)點(diǎn)號(hào)和文件屬性,建立文件file1的硬鏈接,就是為file1的文件索引節(jié)點(diǎn)在當(dāng)前目錄上建立一個(gè)新指針。只有將所有指向文件內(nèi)容的指針,也即鏈接數(shù)減為0時(shí),內(nèi)核才會(huì)把文件內(nèi)容從磁盤上刪除。
盡管硬鏈接節(jié)省空間,也是Linux系統(tǒng)整合文件系統(tǒng)的傳統(tǒng)方式,但是存在一下不足之處:
(1)不可以在不同文件系統(tǒng)的文件間建立鏈接
(2)只有超級(jí)用戶才可以為目錄創(chuàng)建硬鏈接。雖然很多樹上說root用戶可以創(chuàng)建,但是筆者在學(xué)習(xí)過程中發(fā)現(xiàn)即使是root用戶也不能創(chuàng)建。
軟鏈接(符號(hào)鏈接)
軟鏈接克服了硬鏈接的不足,沒有任何文件系統(tǒng)的限制,任何用戶可以創(chuàng)建指向目錄的符號(hào)鏈接。因而現(xiàn)在更為廣泛使用,它具有更大的靈活性,甚至可以跨越不同機(jī)器、不同網(wǎng)絡(luò)對(duì)文件進(jìn)行鏈接。類似于window的訪問快捷方式。
區(qū)別:硬鏈接原文件&鏈接文件公用一個(gè)inode號(hào),說明他們是同一個(gè)文件,而軟鏈接原文件&鏈接文件擁有不同的inode號(hào),表明他們是兩個(gè)不同的文件;在文件屬性上軟鏈接明確寫出了是鏈接文件,而硬鏈接沒有寫出來,因?yàn)樵诒举|(zhì)上硬鏈接文件和原文件是完全平等關(guān)系;鏈接數(shù)目是不一樣的,軟鏈接的鏈接數(shù)目不會(huì)增加;文件大小是不一樣的,硬鏈接文件顯示的大小是跟原文件是一樣的。
當(dāng)然軟鏈接也有硬鏈接沒有的缺點(diǎn),因?yàn)殒溄游募性募穆窂叫畔ⅲ?span style="font-weight: bold;">當(dāng)原文件從一個(gè)目錄下移到其他目錄中,再訪問鏈接文件,系統(tǒng)就找不到 了~~,而硬鏈接就沒有這個(gè)缺陷,你想怎么移就怎么移(呵呵);還有它要系統(tǒng)分配額外的空間用于建立新的索引節(jié)點(diǎn)和保存原文件的路徑。
0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答