linux下硬鏈接和符號鏈接ln命令的用法

 

linux下硬鏈接和符號鏈接ln命令的用法

 


ln命令

 

  該命令在文件之間創建鏈接。這種操作實際上是給系統中已有的某個文件指定另外一個可用於訪問它的名稱。對於這個新的文件名,我們可以爲之指定不同的訪問權限,以控制對信息的共享和安全性的問題。 如果鏈接指向目錄,用戶就可以利用該鏈接直接進入被鏈接的目錄而不用打一大堆的路徑名。而且,即使我們刪除這個鏈接,也不會破壞原來的目錄。

 

  語法:ln [選項] 目標 [鏈接名]

 

  ln [選項] 目標 目錄

 

  鏈接有兩種,一種被稱爲硬鏈接(Hard Link),另一種被稱爲符號鏈接(Symbolic Link)。建立硬鏈接時,鏈接文件和被鏈接文件必須位於同一個文件系統中,並且不能建立指向目錄的硬鏈接。而對符號鏈接,則不存在這個問題。默認情況下,ln產生硬鏈接。

 

  在硬鏈接的情況下,參數中的“目標”被鏈接至[鏈接名]。如果[鏈接名]是一個目錄名,系統將在該目錄之下建立一個或多個與“目標”同名的鏈接文件,鏈接文件和被鏈接文件的內容完全相同。如果[鏈接名]爲一個文件,用戶將被告知該文件已存在且不進行鏈接。如果指定了多個“目標”參數,那麼最後一個參數必須爲目錄。

 

  如果給ln命令加上- s選項,則建立符號鏈接。如果[鏈接名]已經存在但不是目錄,將不做鏈接。[鏈接名]可以是任何一個文件名(可包含路徑),也可以是一個目錄,並且允許它與“目標”不在同一個文件系統中。如果[鏈接名]是一個已經存在的目錄,系統將在該目錄下建立一個或多個與“目標”同名的文件,此新建的文件實際上是指向原“目標”的符號鏈接文件。

 

       例:$ln -s /usr/local/ruby/bin/gem /usr/bin/gem

       相當在usr/bin目錄下建立了一個名爲gem 的鏈接,指向/usr/local/ruby/bin/gem

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章