溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

shell編程之如何實(shí)現(xiàn)軟硬鏈接ln

發(fā)布時(shí)間:2021-10-18 17:36:15 來(lái)源:億速云 閱讀:259 作者:iii 欄目:編程語(yǔ)言

本篇內(nèi)容介紹了“shell編程之如何實(shí)現(xiàn)軟硬鏈接ln”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

定義

lnlink file 的簡(jiǎn)稱)是 GNU 核心工具包中的基本工具。該命令是為某個(gè)文件在另外一個(gè)位置建立一個(gè)同步鏈接。當(dāng)我們需要在不同的目錄用到相同的文件時(shí),我們不需要在每一個(gè)需要的目錄下都放一個(gè)必須相同的文件,此時(shí)只需用 ln 創(chuàng)建對(duì)應(yīng)文件的鏈接,不必重復(fù)的占用磁盤空間。

命令格式

# 硬鏈接(source只能是文件)
ln source target
# 軟鏈接(source可以是文件也可以是目錄)
ln -s source target

軟鏈接

軟鏈接 symbolic link 跟 Windows 里面的快捷方式等價(jià)。它的內(nèi)容是指向另一個(gè)文件的位置。所以可以創(chuàng)建某個(gè)目錄的軟鏈接,也可以對(duì)一個(gè)不存在的文件進(jìn)行鏈接。除此之外,它可以跨文件系統(tǒng)。這三點(diǎn)硬鏈接都無(wú)法實(shí)現(xiàn)。

硬鏈接

硬鏈接 hard link 可以理解為文件的別名,而且別名可以有多個(gè)。

原理

對(duì)于 Linux 而言,文件的結(jié)構(gòu)與 Windows 有點(diǎn)類似,由文件名,inode(類似于 Windows 下的 FCB 文件控制塊,保存文件的一些信息)和數(shù)據(jù)組成。比如創(chuàng)建 origin 文件,會(huì)得到下面的信息。

shell編程之如何實(shí)現(xiàn)軟硬鏈接ln

注意 Inode 和硬鏈接,下面創(chuàng)建 origin 的硬鏈接 hardlink。 shell編程之如何實(shí)現(xiàn)軟硬鏈接ln

比對(duì)發(fā)現(xiàn),創(chuàng)建硬鏈接的文件 hardlink 與原文件 origin 之間除了名稱不同之外其他完全相同,就像同一個(gè)人它有個(gè)正式的名稱也可能會(huì)有小名。它們的數(shù)據(jù)顯然完全一樣。

接下來(lái),我們創(chuàng)建 origin 的軟鏈接 softlink。 shell編程之如何實(shí)現(xiàn)軟硬鏈接ln

對(duì)比發(fā)現(xiàn),origin 和 softlink 是完全不同的文件,有著不同的 size,不同的塊,不同的 Inode,不同的 type。唯一的聯(lián)系是 softlink 文件指向 origin 文件(有點(diǎn)文件指針的味道)。

用例

刪除源文件對(duì)軟硬鏈接的影響

shell編程之如何實(shí)現(xiàn)軟硬鏈接ln

由上圖可以看出 hardlink 中硬鏈接的個(gè)數(shù)少了一個(gè),而 softlink 還是安然無(wú)恙的存在著。接著我們通過(guò)兩個(gè)鏈接來(lái)打開文件。 shell編程之如何實(shí)現(xiàn)軟硬鏈接ln

由上圖發(fā)現(xiàn),hardlink 依舊能打開文件,而軟鏈接卻無(wú)法查看原文件。

“shell編程之如何實(shí)現(xiàn)軟硬鏈接ln”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI