linux 建立鏈接命令 ln -s 軟連接

這是linux中一個很是重要命令,請你們必定要熟悉。它的功能是爲某一個文件在另一個位置創建一個同不的連接,這個命令最經常使用的參數是-s,
具體用法是:ln -s 源文件 目標文件。
當 咱們須要在不一樣的目錄,用到相同的文件時,咱們不須要在每個須要的目錄下都放一個必須相同的文件,咱們只要在某個固定的目錄,放上該文件,而後在其它的 目錄下用ln命令連接(link)它就能夠,沒必要重複的佔用磁盤空間。例如:ln -s /bin/less /usr/local/bin/less
-s 是代號(symbolic)的意思。
這 裏有兩點要注意:第一,ln命令會保持每一處連接文件的同步性,也就是說,不論你改動了哪一處,其它的文件都會發生相同的變化;第二,ln的連接又軟連接 和硬連接兩種,軟連接就是ln -s ** **,它只會在你選定的位置上生成一個文件的鏡像,不會佔用磁盤空間,硬連接ln ** **,沒有參數-s, 它會在你選定的位置上生成一個和源文件大小相同的文件,不管是軟連接仍是硬連接,文件都保持同步變化。


不管是硬連結或軟鏈結都不會將本來的檔案複製一份,只會佔用很是少許的磁碟空間。
  -f : 鏈結時先將與 dist 同檔名的檔案刪除
  -d : 容許系統管理者硬鏈結本身的目錄
  -i : 在刪除與 dist 同檔名的檔案時先進行詢問
  -n : 在進行軟連結時,將 dist 視爲通常的檔案
  -s : 進行軟鏈結(symbolic link)
  -v : 在連結以前顯示其檔名
  -b : 將在鏈結時會被覆寫或刪除的檔案進行備份
  -S SUFFIX : 將備份的檔案都加上 SUFFIX 的字尾
  -V METHOD : 指定備份的方式
  --help : 顯示輔助說明
  --version : 顯示版本

【硬鏈接】
硬鏈接指經過索引節點來進行鏈接。在Linux的文件系統中,保存在磁盤分區中的文件不論是什麼類型都給它分配一個編號,稱爲索引節點號(Inode Index)。在Linux中,多個文件名指向同一索引節點是存在的。通常這種鏈接就是硬鏈接。硬鏈接的做用是容許一個文件擁有多個有效路徑名,這樣用戶就能夠創建硬鏈接到重要文件,以防止「誤刪」的功能。其緣由如上所述,由於對應該目錄的索引節點有一個以上的鏈接。只刪除一個鏈接並不影響索引節點自己和其它的鏈接,只有當最後一個鏈接被刪除後,文件的數據塊及目錄的鏈接纔會被釋放。也就是說,文件真正刪除的條件是與之相關的全部硬鏈接文件均被刪除。node

【軟鏈接】
另一種鏈接稱之爲符號鏈接(Symbolic Link),也叫軟鏈接。軟連接文件有相似於Windows的快捷方式。它其實是一個特殊的文件。在符號鏈接中,文件其實是一個文本文件,其中包含的有另外一文件的位置信息。linux

 

2.經過實驗加深理解
[oracle@Linux]$ vi test.log                         #建立一個測試文件f1
[oracle@Linux]$ ln test.log test1.log           #建立f1的一個硬鏈接文件test1.log
[oracle@Linux]$ ln -s test.log test2.log       #建立f1的一個符號鏈接文件test2.log
[oracle@Linux]$ ls -li                                 # -i參數顯示文件的inode節點信息網絡

兩種連接的區別:  oracle

     硬連接文件有兩個限制
   1)、不容許給目錄建立硬連接;
   2)、只有在同一文件系統中的文件之間才能建立連接,並且只有超級用戶纔有創建硬連接權限。
       對硬連接文件進行讀寫和刪除操做時候,結果和軟連接相同。但若是咱們刪除硬連接文件的源文件,硬連接文件仍然存在,並且保留了願有的內容。less

          這時,系統就「忘記」了它曾經是硬連接文件。而把他當成一個普通文件。測試

         那麼咱們就能夠這樣理解:硬鏈接指經過索引節點來進行的鏈接,其做用是容許一個文件擁有多個有效路徑名,可以達到誤刪除的做用。spa

      其緣由是由於對應的文件的索引節點有一個以上的鏈接。只刪除一個鏈接並不影響索引節點自己和其它索引

      的鏈接,只有當最後一個鏈接被刪除後,文件的數據塊及目錄的鏈接纔會被釋放。文件纔會被真正刪除。同步

         注:保存在磁盤分區中的文件不論是什麼類型都給它分配一個編號,稱爲索引節點號(Inode Index即I節點)。          io

     軟連接沒有硬連接以上的兩個限制,於是如今更爲普遍使用,它具備更大的靈活性,甚至能夠跨越不一樣機器、不一樣網絡對文件進行連接。可是軟連接的缺點在於:由於連接文件包含有原文件的路徑信息,因此當原文件從一個目錄下移到其餘目錄中,再訪問連接文件,系統就找不到了,而硬連接就沒有這個缺陷,你想怎麼移就怎麼移;還有它要系統分配額外的空間用於創建新的索引節點和保存原文件的路徑。

相關文章
相關標籤/搜索