當前位置:首頁 » 操作系統 » linux硬鏈接和軟鏈接區別

linux硬鏈接和軟鏈接區別

發布時間: 2023-05-23 14:40:13

linux中硬鏈接文件和軟鏈接文件有什麼區別

linux系統中鏈接文件分為硬鏈接和軟鏈接(軟鏈接也叫符號鏈接)。硬鏈接和軟鏈接都是指向文件的一種方式,但兩者有不同的地方,主要有以下不同:
1.硬鏈接是創建一個指向block的inode,有防止誤刪除的功能。因為刪除一個文件,實際上是刪除inode信息,切斷了inode與block之間的聯系。當給一個文件做了硬鏈接之後,刪除文件時,只會減少文件的鏈接數,當鏈接數為0時,才會徹底刪除該文件。
軟鏈接類似windows系統的快捷方式,是一個完整的文件,有自己的inode和block,block的內容就是原文件的文件名。當原文件刪除後,軟鏈接就失效了,沒有防止誤刪除的功能。
2.文件的大小不一樣。由於硬鏈接是指向原文件的block,所以硬鏈接的文件大小和原文件大小是一致的。而軟鏈接是新的文件,block里是原文件的的文件名,所以軟鏈接文件的大小一般是4k,即一個block的大小。
3.硬鏈接不能給目錄做,不能跨分區做。軟鏈接則都可以。
創建硬鏈接命令:
ln
file
filenew
#file為原文件名,filenew為新文件名。
創建軟鏈接命令:
ln
-s
file
filenew
#file為原文件名,filenew為新文件名。

Ⅱ Linux中硬鏈接和軟鏈接的區別與聯系!

鏈接是一種在共享文件和訪問它的用戶的若干目錄項之間建立聯系的一種方法。在Linux操作系統中,鏈接被分為兩種:軟鏈接(SoftLink,符號鏈接)和硬鏈接(HardLink)。那麼什麼是軟鏈接?什麼是硬鏈接?Linux中軟鏈接和硬鏈接之間有什麼區別和聯系?以下是詳細的內容介紹。

為解決文件的共享使用,Linux系統引入了兩種鏈接:硬鏈接和軟鏈接。在Linux中,元數據中的inode號才是文件的唯一標識而非文件名,文件內容要通過inode號來尋找,猶如交通指示牌一樣,指示著數據找尋的方向。

硬鏈接(Hard Link)

A和B的硬鏈接,則慧汪純A的目錄項中的inode節點號與B的目錄項中的inode節點號相同,即一個inode節點對應兩個不同的文件名,兩個文件名指向同一個文件,A和B對文件系統來說是完全平等的。如果刪除其中一個,對另外一個沒有任何影響。每增加一個文件名,inode節點上的鏈接數增加一,每刪除一個對應的文件名,inode節點上的鏈接數減一,直到為0,inode節點和對應的數據塊被回收。

註:文件和文件名是不同的東西,rm A刪除的只是A這個文件名,而A對應的數據塊只有在inode節點鏈接數減少為0的時候才會被系統回收。

軟鏈接(Soft Link)

A是B的軟鏈接,A的目錄項中的inode節點號與B的目錄項中的節點號不相同,A和B指向的是兩個不陵悶同的inode,繼而指向兩塊不同的數據塊。但是A的數據塊中存放的只是B的路徑名。A和B之間是主從關系,如果B被刪除了,A依然存在,但指向的是一個無效的鏈接。

Linux中軟鏈接和硬鏈接之間有什麼區別和聯系?

概念不同:

軟鏈接可以理解成快捷方式,和原文件的inode號不一樣,它和Windows下的快捷方式的作用是一樣的,軟鏈接數據塊中記錄的亦是相對路徑指向。

硬鏈接和原文件對應一個inode,就是對應一個文件,可以理解成一個文件有幾個別名。

用法不同:

軟鏈接可以理解成快捷方式,也清楚知道原文件在哪裡。它和Windows下的快捷方式前咐的作用是一樣的,和Windows一樣,刪除源文件,快捷方式也就無法使用了。

硬鏈接可以看成一個備份,但並沒有增加空間,因為文件就一個,這種可以防止源文件刪除後不能使用問題;同時也有局限性,不能對目錄和跨文件系統使用。

語法格式(ln):

硬鏈接:ln 源文件 鏈接名

軟鏈接:ln -s 源文件 鏈接名

注意:鏈接的源文件路徑要寫絕對路徑,否則會報錯。

Ⅲ Linux硬鏈接,軟連接和復制的區別

1.硬鏈接實際上是為文件建一個別名,鏈接文件和原文件實際上是同一個文件。可以通過ls
-i來查看一下,這兩個文件的inode號是同一個,說明它們是同一個文件;而軟鏈接建立的是一個指向,即鏈接文件內的內容是指向原文件的指針,它們是兩個文件。
通過ls
-al
查看到硬鏈接和源文件的文件類型一樣為「-」而軟鏈接為「l」
ls
-ai
會顯示文件的硬鏈接數量,如果有硬鏈接則>1
也可以用
stat
XX
來查看文件的inode信息來區分兩個文件是復制的還是硬鏈接的
其實硬鏈接和軟鏈接和源文件三者任意一個改變三者都會同步改變,這是他們與復制之間的區別
2.硬鏈接只能用於文件,不能用於目錄;軟鏈接可以為目錄建鏈接。
3.硬鏈接不能跨文件系統操作。
既然軟鏈接和硬鏈接和源文件的內容是同步的,那軟鏈接和硬鏈接的應用場景有什麼不同呢
A硬鏈B
刪除B後A依然存在,且可用。
A軟鏈B
刪除B後A存在,但不可用了(相當於Windows下快捷方式指向的目標不存在了)

Ⅳ 五分鍾讓你明白linux的軟鏈接和硬鏈接的用法

 什麼是軟鏈接和硬鏈接,很多人對這個概念比較模糊,這里幫助你明白他們之間的區別和用法。

為解決文件的共享使用,Linux 系統引入了兩種鏈接:硬鏈接 (hard link) 與軟鏈接(又稱符號鏈接,即 soft link 或 symbolic link)。

在 Linux 中,元數據中的 inode 號(inode 號即索引節點號)才是文件的唯一標識而非文件名,文件內容要通過inode 號來尋找,就像交通指示牌一樣,指示著數據找尋的方向。

軟鏈接可以理解成快捷方式,和原文件的inode號不一樣。它和windows下的快捷方式的作用是一樣的,軟鏈接數據塊中記錄的亦是相對路徑指向。

硬鏈接和原文件對應一個inode,就是對應一個文件,可以理解成一個文件有幾個別名.

下面這張圖表明了他們之間的區別了。

這二張圖詳細的給出這二個文件的異同處。

1,軟鏈接可以理解成快捷方式,也清楚知道原文件在哪兒。它和windows下的快捷方式的作用是一樣的,和windows一樣,刪除源文件,快捷方式也用不了。

2,硬鏈接可以說做了一個備份,但並沒有增加空間,因為文件就一個,這種可以防止源文件刪除後不能使用的問題,但也有局限性,不能對目錄和跨文件系統使用。

相信通過上面的說明,你已經明白了二者之間的區別和用途了。

Ⅳ 硬鏈接和軟鏈接的區別是什麼

硬鏈接:新建的文件是已經存在的文件的一個別名,當原文件刪除時,新建的文件仍然可以使用.
軟鏈接:也稱為符號鏈接,新建的文件以「路徑」的形式來表示另一個文件,和Windows的快捷方式十分相似,新建的軟鏈接可以指向不存在的文件.
下面詳細介紹一下硬鏈接和軟連接之間的區別.
1.硬鏈接和原來的文件沒有什麼區別,而且共享一個 inode 號(文件在文件系統上的唯一標識);而軟鏈接不共享 inode,也可以說是個特殊的 inode,姿裂所以和原來的 inode 有區別。
2.若原文件刪除了,則該軟連接則不可以訪問,而硬連接則是可以輪檔的。
3.由於符號鏈接的特性,導致其可以跨越磁碟分區,但硬鏈接不具臘冊亂備這個特性.在網上搜的。

Ⅵ linux硬鏈接和軟鏈接的區別

在Linux系統中,鏈接分為兩種,一種是硬鏈接(Hard link),另一種稱為符號鏈接或軟鏈接(Symbolic Link)。
①默認不帶參數的情況下,ln創建的是硬鏈接,帶-s參數的ln命令創建的是軟鏈接。
②硬鏈接文件與源文件的inode節點號相同,而軟鏈接文件的inode節點號,與源文件不同,
③ln命令不能對目錄創建硬鏈接,但可以創建軟鏈接。對目錄的軟鏈接會經常使用到。
④刪除軟鏈接文件,對源文件和硬鏈接文件無任何影響。
⑤刪除文件的硬鏈接文件,對源文件及軟鏈接文件無任何影響。
⑥刪除鏈接文件的源文件,對硬鏈接文件無影響,會導致其軟鏈接失效(紅底白字閃爍狀)。
⑦同時刪除源文件及其硬鏈接文件,整個叢洞文件才會被真正的刪除。
⑧很多硬體設備的快照功能,使用的就是類似硬鏈接的原理。
⑨軟鏈接可顫擾以跨文件系統,硬鏈接不可以滲洞枯跨文件系統。

Ⅶ linux軟連接和硬連接的區別

(1)軟鏈接可以跨越文件系統 ,硬鏈接不可以 。實踐的方法就是用共享文首殲件把windows下的 aa.txt文本文檔鏈接到linux下/root目錄下 bb,cc . ln -s aa.txt /root/bb 鏈渣芹敬接成功 。ln aa.txt /root/bb 失敗 。

(2)關於 I節點的問題 。硬鏈接不管有多少個,都指向的是同一個I節點,會把 結點連接數增加 ,只要結點的鏈接數不是 0,文件就一直存在,不管你刪除的是源文件還是鏈接的文件 。只要有一個存在 ,文件就存在 (其實也不分什麼源文件和鏈接文件的 ,因為他們指向都是同一個I節點的)。 當你修改源文件或者鏈接文件任何一個的時候 ,其他的文件都會做同步的如慎修改。軟鏈接不直接使用i節點號作為文件指針,而是使用文件路徑名作為指針。所以刪除鏈接文件對源文件無影響,但是刪除源文件,鏈接文件就會找不到要指向的文件 。軟鏈接有自己的inode,並在磁碟上有一小片空間存放路徑名,但軟鏈接文件沒有屬於自己的文件塊. 軟鏈接比較像windows下的快捷方式。

(3)軟鏈接可以對一個不存在的文件名進行鏈接。

(4)軟鏈接可以對目錄進行鏈接。

備註:I節點 :它是UNIX內部用於描述文件特性的數據結構.我們通常稱I節點為文件索引結點(信息結點).i節點 含有關於文件的大部分的重要信息,包括文件數據塊在磁碟上的地址.每一個I節點有它自己的標志號,我們稱為文件順序號.I節點包含的信息 1.文件類型 2.文件屬主關系 3.文件的訪問許可權 4.文件的時間截.

Ⅷ linux 硬鏈接和軟連接的區別

硬鏈接就是同一個文簡跡掘件使用了多個別名(他們有共同的攔核 inode)。
硬鏈接可由命令 link 或 ln 創建,如:

linkoldfilenewfile
lnoldfilenewfile

由於硬鏈接是有著相同 inode 號僅文件名不同的文件,因此,刪除一個硬鏈接文件並不影響其他有相同 inode 號的文件。
硬鏈接不能對目錄進行創建,只可對文件創建。


軟鏈接(也叫符號鏈接)與硬鏈接不同,文件用戶數據塊中存放的內容是另一文件的路徑名的指向。軟鏈接就是一個普通文件,只是數據塊內容有點特殊。
軟鏈接可對文件或目錄創建。
ln-sold.filesoft.link
ln-sold.dirsoft.link.dir

加-s選項表示創建的是軟鏈接。
刪除軟鏈接並不影響被指向的文件,但若被指向的原文件被刪除,則相關軟連接就變成了死鏈接。


要更深入地了解,請參州桐見IBM網站:

Ⅸ Linux 軟連接和硬鏈接之間的區別

軟鏈接:
1.軟鏈接,以路徑的形式存在。類似於Windows操作系統中的快捷方式
2.軟鏈接可以 跨文件系統 ,硬鏈接不可以
3.軟鏈接可以對一個不存在的文件名進行鏈接
4.軟鏈接可以對目錄進行鏈接

硬鏈接:
1.硬鏈接,以文件副本的形式存在。但不佔用實際空間。
2.不允許給目錄創建硬鏈接
3.硬鏈接只有在同一個文件系統中才能創建
這里有兩點要注意:
第一,ln命令會保持每一處鏈接文件的同步性,也就是說,不論你改動了哪一處,其它的文件都會發生相同的變化;
第二,ln的鏈接又分軟鏈接和硬鏈接兩種,軟鏈接就是ln –s 源文件 目標文件,它只會在你選定的位置上生成一個文件的鏡像,不會佔用磁碟空間,硬鏈接 ln 源文件 目標文件,沒有參數-s, 它會在你選定的位置上生成一個和源文件大小相同的文件,無論是軟鏈接還是硬鏈接,文件都保持同步變化。
ln指令用在鏈接文件或目錄,如同時指定兩個以上的文件或目錄,且最後的目的地是一個已經存在的目錄,則會把前面指定的所有文件或目錄復制到該目錄中。若同時指定多個文件或目錄,且最後的目的地並非是一個已存在的目錄,則會出現錯誤信息。

熱點內容
房車配置怎麼選擇 發布:2025-04-22 16:22:14 瀏覽:492
編程貓gb 發布:2025-04-22 16:22:13 瀏覽:631
密碼加密php 發布:2025-04-22 16:07:09 瀏覽:582
imac存儲空間為什麼這么小 發布:2025-04-22 15:45:30 瀏覽:223
上傳時速是0 發布:2025-04-22 15:37:49 瀏覽:568
0基礎的編程 發布:2025-04-22 15:37:09 瀏覽:205
vnc怎麼查伺服器ip 發布:2025-04-22 15:29:20 瀏覽:158
百度雲ftp伺服器 發布:2025-04-22 15:17:50 瀏覽:656
平板哪個配置最高 發布:2025-04-22 15:16:20 瀏覽:830
天工編程 發布:2025-04-22 15:08:36 瀏覽:381