linux中存在兩種鏈結檔案,軟鏈結和硬鏈結。
硬鏈結
使用方式: ln sourcefile destfile
原理:linux檔案系統中每個檔案所對應的實際硬碟位置資訊會儲存在檔案的inode中,目錄結構的實現即是通過inode的組織實現的,具體還涉及到檔案塊的分配等,以後有機會在寫文章回顧大學學的這部分知識。inode中有乙個字段,儲存的是該inode被引用的次數,而硬鏈結則是在目的位置建立該檔案的鏈結,同時將inode的引用次數+1。
linux在進行檔案的刪除過程中,會去訪問該檔案的inode,將inode引用次數-1,當inode的引用次數為0時,徹底刪除該inode,將inode指向的檔案block,即檔案在硬碟中佔得位置設為可用。
因此,硬鏈結可以作為重要檔案被誤刪的保證,同時,因為硬鏈結本身所指向的物理位置和原始檔屬於同乙個,因此,修改任意乙個,實際檔案都會發生改變。
軟鏈結
使用方式:ln -s sourcefile destfile
原理:軟連線相當於windows的快捷方式,軟連線實際上是乙個指向原始檔inode的檔案,其中儲存了一些文字資訊。
因此,修改軟連線同樣可以達到修改原始檔的目的,但是,刪除了原始檔後,軟連線就找不到對應的inode,也就失效了。
比較
複製檔案
複製檔案與鏈結不同,複製實際上建立了乙個新的檔案,即實際從原始檔讀取,重新在硬碟中新的block空間寫。其block和inode都是新的。與原始檔完全無關。
Linux 硬鏈結和軟鏈結
硬鏈結是通過鏈結原始檔的索引節點來進行有效鏈結。linux系統中的每個檔案都有乙個自己的索引節點,如同資料庫中的每條記錄都有自己的唯一索引一樣。自我感覺硬鏈結就像是windows下乙個檔案的拷貝,唯一不同的地方是多個該檔案的拷貝 硬鏈結 通過原始檔的索引節點來共享和更新自己的內容,一旦該節點上的任一...
Linux軟鏈結和硬鏈結
1.linux鏈結概念 linux鏈結分兩種,一種被稱為硬鏈結 hard link 另一種被稱為符號鏈結 symbolic link 預設情況下,ln命令產生硬鏈結。硬連線 硬連線指通過索引節點來進行連線。在linux的檔案系統中,儲存在磁碟分割槽中的檔案不管是什麼型別都給它分配乙個編號,稱為索引節...
Linux軟鏈結和硬鏈結
1.linux鏈結概念 linux鏈結分兩種,一種被稱為硬鏈結 hard link 另一種被稱為符號鏈結 symbolic link 預設情況下,ln命令產生硬鏈結。硬鏈結 硬鏈結指通過索引節點來進行鏈結。在linux的檔案系統中,儲存在磁碟分割槽中的檔案不管是什麼型別都給它分配乙個編號,稱為索引節...