永久連結與軟連結(Hard Links&Symbolic Links)

來源:互聯網
上載者:User


【ln 建立串連檔】前面提到過兩次串連檔的概念,現在終於該好好介紹下這部分內容了。串連檔分為兩種,硬串連(hard  link)和軟串連(symbolic link)。Hard  Links: 上面內容中說過,當系統要讀取一個檔案時,就會先去讀inode table,然後再去根據inode中的資訊到塊地區去將資料取出來。而hard link 是直接再建立一個inode串連到檔案放置的塊地區。也就是說,進行hard link的時候實際上該檔案內容沒有任何變化,只是增加了一個指到這個檔案的inode,不過這樣一來就會有個問題,因為增加的inode會串連到塊地區,而目錄本身僅僅消耗inode而已,那麼hard link就不能串連目錄了。請你記住,hard link 有兩個限制:1 不能跨檔案系統,因為不通的檔案系統有不同的inode table; 2 不能串連目錄。
  www.2cto.com  Symbolic Links:跟hard link不同,這個是建立一個獨立的檔案,而這個檔案的作用是當讀取這個串連檔案時,它會把讀取的行為轉寄到該檔案所link的檔案上。這樣講,也許比較繞口,那麼就來舉一個例子。現在有檔案a,我們做了一個軟串連檔案b(只是一個串連檔案,非常小),b指向了檔案a。當讀取b時,那麼b就會把讀取的動作轉寄到a上,這樣就讀取到了檔案a。所以,當你刪除檔案a時,檔案b並不會被刪除,但是再讀取b時,會提示無法開啟檔案。而,當你刪除b時,a是不會有任何影響的。
 看樣子,似乎 hard link 比較安全,因為即使某一個 inode 被殺掉了,只要有任何一個 inode 存在,那麼該檔案就不會不見!不過,不幸的是,由於 Hard Link 的限制太多了,包括無法做目錄的 link ,所以在用途上面是比較受限的!反而是 Symbolic Link 的使用方向較廣!那麼如何建立軟串連和硬串連呢?這就用到了ln 命令。ln 文法:  ln [-s]  [來源檔案]  [目的檔案]ln 常用的選項就一個-s ,如果不加就是建立硬串連,加上就建立軟串連。
  www.2cto.com  在建立硬串連前後,123目錄所佔空間大小並沒有改變。當把源檔案刪除後,空間仍舊沒有變化。說明了刪除一個檔案其實只是刪除了inode資訊。不能建立目錄的硬串連。建立軟串連後,456目錄增加了4k刪除源檔案後會提示“沒有這個檔案”的錯誤。目錄是可以軟串連的。
  www.2cto.com  刪除軟串連對源檔案沒有任何影響。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.