Linux下 ln 命令詳解

2021-08-13 08:55:31 字數 1357 閱讀 7427

###date: 2017/12/11

這是linux中乙個非常重要命令,請大家一定要熟悉。它的功能是為某乙個檔案或目錄在另外乙個位置建立乙個同步的鏈結,類似windows下的超級鏈結。

這個命令最常用的引數是-s,具體用法是:

sudo ln -s 原始檔 目標檔案 

舉例:當前目錄是/local,而我經常要訪問/usr/local/linux/work

那麼我就可以使用在local下建立乙個檔案linkwork,

然後sudo ln -s /usr/local/linux/work  /local/linkwork

即建立兩者之間的鏈結。

刪除鏈結

rm -rf   symbolic_name   注意不是rm -rf   symbolic_name/

那麼上面我就是rm -rf   /local/linkwork

鏈結有兩種,一種被稱為硬鏈結(hard link),另一種被稱為符號鏈結(symbolic link)。建立硬鏈結時,鏈結檔案和被鏈結檔案必須位於同乙個檔案系統中,並且不能建立指向目錄的硬鏈結。而對符號鏈結,則不存在這個問題。預設情況下,ln產生硬鏈結。

在硬鏈結的情況下,引數中的「目標」被鏈結至[鏈結名]。如果[鏈結名]是乙個目錄名,系統將在該目錄之下建立乙個或多個與「目標」同名的鏈結檔案, 鏈結檔案和被鏈結檔案的內容完全相同。如果[鏈結名]為乙個檔案,使用者將被告知該檔案已存在且不進行鏈結。如果指定了多個「目標」引數,那麼最後乙個引數 必須為目錄。

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

【硬連線】

硬連線指通過索引節點來進行連線。在linux的檔案系統中,儲存在磁碟分割槽中的檔案不管是什麼型別都給它分配乙個編號,稱為索引節點號(inode index)。在linux中,多個檔名指向同一索引節點是存在的。一般這種連線就是硬連線。硬連線的作用是允許乙個檔案擁有多個有效路徑名,這樣使用者就可以建立硬連線到重要檔案,以防止「誤刪」的功能。其原因如上所述,因為對應該目錄的索引節點有乙個以上的連線。只刪除乙個連線並不影響索引節點本身和其它的連線,只有當最後乙個連線被刪除後,檔案的資料塊及目錄的連線才會被釋放。也就是說,檔案真正刪除的條件是與之相關的所有硬連線檔案均被刪除。

【軟連線】

另外一種連線稱之為符號連線(symbolic link),也叫軟連線。軟鏈結檔案有類似於windows的快捷方式。它實際上是乙個特殊的檔案。在符號連線中,檔案實際上是乙個文字檔案,其中包含的有另一檔案的位置資訊

參考:

Linux下 ln 命令詳解

這是linux中乙個非常重要命令,請大家一定要熟悉。它的功能是為某乙個檔案或目錄在另外乙個位置建立乙個同步的鏈結,類似windows下的超級鏈結。這個命令最常用的引數是 s,具體用法是 sudo ln s 原始檔 目標檔案 舉例 當前目錄是 local,而我經常要訪問 usr local linux...

Linux下 ln 命令詳解

這是linux中乙個非常重要命令,請大家一定要熟悉。它的功能是為某乙個檔案或目錄在另外乙個位置建立乙個同步的鏈結,類似windows下的超級鏈結。這個命令最常用的引數是 s,具體用法是 sudo ln s 原始檔 目標檔案 舉例 當前目錄是 local,而我經常要訪問 usr local linux...

Linux下ln鏈結命令詳解

ln是linux中又乙個非常重要命令,它的功能是為某乙個檔案在另外乙個位置建立乙個不同的鏈結,這個命令最常用的引數是 s,具體用法是 ln s 原始檔 目標檔案。當我們需要在不同的目錄,用到相同的檔案時,我們不需要在每乙個需要的目錄下都放乙個必須相同的檔案,我們只要在某個固定的目錄,放上該檔案,然後...