詳解Linux操作系統中軟硬鏈接的區(qū)別
對于那些學習Linux操作系統的用戶,也許經常會看到軟鏈接,硬鏈接這兩個詞,不過你了解這兩者之間的區(qū)別么?本文為你講解Linux操作系統軟硬鏈接的區(qū)別。
軟硬鏈接的區(qū)別
(1)軟連接可以 跨文件系統 ,硬連接不可以 。實踐的方法就是用共享文件把windows下的 aa.txt文本文檔連接到Linux下/root目錄 下 bb,cc . ln -s aa.txt /root/bb 連接成功 。ln aa.txt /root/bb 失敗 。
(2)關于 I節(jié)點的問題 。硬連接不管有多少個,都指向的是同一個I節(jié)點,會把 結點連接數增加,只要結點的連接數不是 0,文件就一直存在 ,不管你刪除的是源文件還是連接的文件。只 要有一個存在,文件就 存在(其實也不分什么 源文件連接文件的 ,因為他們指向都是同一個 I節(jié)點)。 當你修改源文件或者連接文件任何一個的時候,其他的 文件都會做同步的修 改 。軟鏈接不直接使用i節(jié)點號作為文件指針, 而是使用文件路徑名作為指針。所以刪除連接文件對源文件無影響,但是刪除源文件,連接文件就會找不到要指向的文件。軟鏈接有自 己的inode, 并在磁盤上有一小片空間存放路徑名。
(3)軟連接可以對一個不存在的文件名進行連接 。
(4)軟連接可以對目錄進行連接。
備注:I節(jié)點 :它是UNIX內部用于描述文件特性的數據結構。我們通常稱I節(jié)點為文件索引結點(信息結點)。i節(jié)點含有關于文件的大部分的重要信 息,包括文件數據塊在磁盤上的地址。每一 個I節(jié)點有它自己的標志號,我們稱為文件順序號。I節(jié)點包含的信息 :1.文件類型 2.文件屬主關系 3.文件的訪問權限 4.文件的時間截 。
硬連接指通過索引節(jié)點來進行的連接。在Linux的文件系統中,保存在磁盤分區(qū)中的文件不管是什么類型都給它分配一個編號,稱為索引節(jié)點號(Inode Index )。在Linux中,多個文件名指向同一索引節(jié)點是存在的。一般這種連接就是硬連接。
硬連接的作用是允許一個文件擁有多個有效路徑名,這樣用戶就可以建立硬連接到重要的文件,以防止“誤刪”的功能。其原因如上所述,因為對應該目錄的索引節(jié)點有一個以上的連接。只刪除一個連接并不影響索引節(jié)點本身和其它的連接,只有當***一個連接被刪除后,文件的數據塊及目錄的連接才會被釋放。也就是說,文件才會被真正刪除。
軟鏈接文件有點類似于Windows的快捷方式。它實際上是特殊文件的一種。在符號連接中,文件實際上是一個文本文件,其中包含的有另一文件的位置信息。
軟鏈接是另一個文件,作用可以理解為一個指針,作用在這個文件上的操作除了刪除都直接轉向實際指向文件,由于是一個真實的文件所以占用磁盤空間 。硬鏈接可以認為不是一個文件,它只是實際文件的一個別名,它的作用是防止真實文件被誤操作,給一個文件建立硬鏈接后,他們互為別名,刪除其中任一個,只會刪除該別名,實際文件并不會被刪除。由于只是別名沒有任何其他信息,所以并不占用原始文件大小的磁盤空間。
了解Linux操作系統軟硬鏈接的區(qū)別,學好Linux操作系統。
【編輯推薦】