LINUX 永久連結與軟連結的區別

來源:互聯網
上載者:User

對於一個檔案來說,有唯一的索引接點(inode)與之對應,而對於一個索引接點號,卻可以有多個檔案名稱與之對應。因此,在磁碟上的同一個檔案可以通過不同的路徑去訪問該檔案。注意在Linux下是一切皆檔案的啊,檔案夾、新加的硬碟 ...都可以看著檔案來處理的啊。
    串連有軟串連和硬串連(hard link)之分的,軟串連(symbolic link)又叫符號串連。符號串連相當於Windows下的捷徑。
*************************** 不可以對  檔案夾/目錄  建立硬串連的,我們通常用的還是軟串連比較多。    
    
eg:
    ln -s source dist        # 建立軟串連
    ln source dist            # 建立硬串連
 
    它們到底有什麼區別呢?上次也好好的看了,好象同檔案系統的結構有一定的關係,沒怎麼太詳細的研究下次看明白了再加上。

----------------------
   軟連結實際上只是一段文字,裡麵包含著它所指向的檔案的名字,系統看到軟連結後自動跳到對應的檔案位置處進行處理;相反,永久連結為檔案開設一個新的目錄項,永久連結與檔案原有的名字是平權的,在Linux看來它們是等價的。由於這個原因,永久連結不能串連兩個不同檔案系統上的檔案。
 
軟串連與windows下的捷徑類似

至於硬串連,舉個例子說吧,你把dir1/file1硬串連到dir2/file2, 就是在dir2下建立一個dir1/file1的鏡像檔案file2,它與file1是佔用一樣大的空間的,並且改動兩者中的一個,另一個也會發生同樣的改動.

軟串連和硬串連可以這樣理解:
硬串連就像一個檔案有多個檔案名稱,
軟串連就是產生一個新檔案(這個檔案內容,實際上就是記當要連結原檔案路徑的資訊),這個檔案指向另一個檔案的位置,
硬串連必須在同一檔案系統中,而軟串連可以跨檔案系統

硬串連:源檔案名稱和連結檔案名稱都指向相同的物理地址,目錄不能夠有硬串連,檔案在磁碟中只有一個複製,可以節省硬碟空間,由於刪除檔案要在同一個索引節點屬於唯一的串連時才能成功,因此可以防止不必要的誤刪除軟串連(符號串連)用ln-s命令建立檔案的符號串連,符號串連是linux特殊檔案的一種,作為一個檔案,它的資料是它所串連的檔案的路徑名,類似於硬體方式,******可以刪除原始檔案 而串連檔案仍然存在。********

 
本文試圖清晰徹底的解釋軟連結和永久連結檔案的區別
 一 連結檔案
    連結有兩種方式,軟連結和永久連結。
  1 軟連結檔案
  軟連結又叫符號連結,這個檔案包含了另一個檔案的路徑名。可以是任意檔案或目錄,可以連結不同檔案系統的檔案。
    **********連結檔案甚至可以連結不存在的檔案,這就產生一般稱之為"斷鏈"的問題(或曰“現象"),連結檔案甚至可以迴圈連結自己。類似於程式設計語言中的遞迴。
  用ln -s 命令可以產生一個軟串連,如下:
  [root@linux236 test]# ln -s  source_file softlink_file
  在對符號檔案進行讀或寫操作的時候,系統會自動把該操作轉換為對源檔案的操作,但刪除連結檔案時,系統僅僅刪除連結檔案,而不刪除源檔案本身。
  2 永久連結檔案
  info ln 命令告訴您,永久連結是已存在檔案的另一個名字(A "hard link" is another name for an existing file),這多少有些令人困惑。硬串連的命令是
  ln -d existfile newfile
  永久連結檔案有兩個限制
  1)、不允許給目錄建立永久連結;
  2)、只有在同一檔案系統中的檔案之間才能建立永久連結。
 ***********對永久連結檔案進行讀寫和刪除操作時候,結果和軟連結相同。但如果我們刪除永久連結檔案的源檔案,永久連結檔案仍然存在,而且保留了願有的內容。
    ***********這時,系統就“忘記”了它曾經是永久連結檔案。而把他當成一個普通檔案。
二  兩者之間的區別
    硬串連指通過索引節點來進行的串連。在Linux的檔案系統中,儲存在磁碟分割中的檔案不管是什麼類型都給它分配一個編號,稱為索引節點號(Inode Number)。
    在Linux中,多個檔案名稱指向同一索引節點是存在的。一般這種串連就是硬串連。*******硬串連的作用是允許一個檔案擁有多個有效路徑名,這樣使用者就可以建立硬串連到重要
    檔案,以防止“誤刪”的功能。其原因如上所述,因為對應該目錄的索引節點有一個以上的串連。只刪除一個串連並不影響索引節點本身和其它的串連,只有當最後一個
    串連被刪除後,檔案的資料區塊及目錄的串連才會被釋放。也就是說,檔案才會被真正刪除。
    軟連結檔案有點類似於Windows的捷徑。它實際上是特殊檔案的一種。在符號串連中,檔案實際上是一個文字檔,其中包含的有另一檔案的位置資訊。
三  個人體會
    軟連結是另一個檔案,作用可以理解為一個指標,******作用在這個檔案上的操作除了刪除都直接轉向實際指向檔案,由於是一個真實的檔案所以佔用磁碟空間
    永久連結可以認為不是一個檔案,它只是實際檔案的一個別名,它的作用是防止真實檔案被誤操作,給一個檔案建立永久連結後,他們互為別名,刪除其中任意一個,
    這樣用RM命令只會刪除該別名,實際檔案並不會被刪除。只有連結數為0時,才會刪除原始檔案。

對於一個檔案來說,有唯一的索引接點(inode)與之對應,而對於一個索引接點號,卻可以有多個檔案名稱與之對應。因此,在磁碟上的同一個檔案可以通過不同的路徑去訪問該檔案。注意在Linux下是一切皆檔案的啊,檔案夾、新加的硬碟 ...都可以看著檔案來處理的啊。
    串連有軟串連和硬串連(hard link)之分的,軟串連(symbolic link)又叫符號串連。符號串連相當於Windows下的捷徑。
*************************** 不可以對  檔案夾/目錄  建立硬串連的,我們通常用的還是軟串連比較多。    
    
eg:
    ln -s source dist        # 建立軟串連
    ln source dist            # 建立硬串連
 
    它們到底有什麼區別呢?上次也好好的看了,好象同檔案系統的結構有一定的關係,沒怎麼太詳細的研究下次看明白了再加上。

----------------------
   軟連結實際上只是一段文字,裡麵包含著它所指向的檔案的名字,系統看到軟連結後自動跳到對應的檔案位置處進行處理;相反,永久連結為檔案開設一個新的目錄項,永久連結與檔案原有的名字是平權的,在Linux看來它們是等價的。由於這個原因,永久連結不能串連兩個不同檔案系統上的檔案。
 
軟串連與windows下的捷徑類似

至於硬串連,舉個例子說吧,你把dir1/file1硬串連到dir2/file2, 就是在dir2下建立一個dir1/file1的鏡像檔案file2,它與file1是佔用一樣大的空間的,並且改動兩者中的一個,另一個也會發生同樣的改動.

軟串連和硬串連可以這樣理解:
硬串連就像一個檔案有多個檔案名稱,
軟串連就是產生一個新檔案(這個檔案內容,實際上就是記當要連結原檔案路徑的資訊),這個檔案指向另一個檔案的位置,
硬串連必須在同一檔案系統中,而軟串連可以跨檔案系統

硬串連:源檔案名稱和連結檔案名稱都指向相同的物理地址,目錄不能夠有硬串連,檔案在磁碟中只有一個複製,可以節省硬碟空間,由於刪除檔案要在同一個索引節點屬於唯一的串連時才能成功,因此可以防止不必要的誤刪除軟串連(符號串連)用ln-s命令建立檔案的符號串連,符號串連是linux特殊檔案的一種,作為一個檔案,它的資料是它所串連的檔案的路徑名,類似於硬體方式,******可以刪除原始檔案 而串連檔案仍然存在。********

 
本文試圖清晰徹底的解釋軟連結和永久連結檔案的區別
 一 連結檔案
    連結有兩種方式,軟連結和永久連結。
  1 軟連結檔案
  軟連結又叫符號連結,這個檔案包含了另一個檔案的路徑名。可以是任意檔案或目錄,可以連結不同檔案系統的檔案。
    **********連結檔案甚至可以連結不存在的檔案,這就產生一般稱之為"斷鏈"的問題(或曰“現象"),連結檔案甚至可以迴圈連結自己。類似於程式設計語言中的遞迴。
  用ln -s 命令可以產生一個軟串連,如下:
  [root@linux236 test]# ln -s  source_file softlink_file
  在對符號檔案進行讀或寫操作的時候,系統會自動把該操作轉換為對源檔案的操作,但刪除連結檔案時,系統僅僅刪除連結檔案,而不刪除源檔案本身。
  2 永久連結檔案
  info ln 命令告訴您,永久連結是已存在檔案的另一個名字(A "hard link" is another name for an existing file),這多少有些令人困惑。硬串連的命令是
  ln -d existfile newfile
  永久連結檔案有兩個限制
  1)、不允許給目錄建立永久連結;
  2)、只有在同一檔案系統中的檔案之間才能建立永久連結。
 ***********對永久連結檔案進行讀寫和刪除操作時候,結果和軟連結相同。但如果我們刪除永久連結檔案的源檔案,永久連結檔案仍然存在,而且保留了願有的內容。
    ***********這時,系統就“忘記”了它曾經是永久連結檔案。而把他當成一個普通檔案。
二  兩者之間的區別
    硬串連指通過索引節點來進行的串連。在Linux的檔案系統中,儲存在磁碟分割中的檔案不管是什麼類型都給它分配一個編號,稱為索引節點號(Inode Number)。
    在Linux中,多個檔案名稱指向同一索引節點是存在的。一般這種串連就是硬串連。*******硬串連的作用是允許一個檔案擁有多個有效路徑名,這樣使用者就可以建立硬串連到重要
    檔案,以防止“誤刪”的功能。其原因如上所述,因為對應該目錄的索引節點有一個以上的串連。只刪除一個串連並不影響索引節點本身和其它的串連,只有當最後一個
    串連被刪除後,檔案的資料區塊及目錄的串連才會被釋放。也就是說,檔案才會被真正刪除。
    軟連結檔案有點類似於Windows的捷徑。它實際上是特殊檔案的一種。在符號串連中,檔案實際上是一個文字檔,其中包含的有另一檔案的位置資訊。
三  個人體會
    軟連結是另一個檔案,作用可以理解為一個指標,******作用在這個檔案上的操作除了刪除都直接轉向實際指向檔案,由於是一個真實的檔案所以佔用磁碟空間
    永久連結可以認為不是一個檔案,它只是實際檔案的一個別名,它的作用是防止真實檔案被誤操作,給一個檔案建立永久連結後,他們互為別名,刪除其中任意一個,
    這樣用RM命令只會刪除該別名,實際檔案並不會被刪除。只有連結數為0時,才會刪除原始檔案。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.