Linux ln 命令語法

2021-06-13 18:25:52 字數 2369 閱讀 2761

ln 命令

用途: 鏈結檔案。

語法

1>將某個檔案鏈結到乙個檔案上

ln [ -f | -n] [ -s ] sourcefile [ targetfile ]

2>將乙個或多個檔案鏈結到乙個目錄上

ln [ -f | -n] [ -s ] sourcefile ... targetdirectory

描述

ln 命令將在 sourcefile 引數中指定的檔案鏈結到在 targetfile 引數中指定的檔案,或將其鏈結到在 targetdirectory 引數中指定的另乙個目錄中的檔案。

在預設情況下,ln 命令會建立硬鏈結。如果需要使用 ln 命令來建立符號鏈結,請指明 -s 標誌。

符號鏈結是指向檔案的乙個間接指標;它的目錄項中包含了它所鏈結的檔名。符號鏈結可能會跨越檔案系統,可能指向目錄。

如果正在將某個檔案鏈結到新的名字,那麼只能列出乙個檔案。如果鏈結到乙個目錄,那麼可以列出多個檔案。

targetfile 引數是可選的。

如果不指定目標檔案,ln 命令會在當前的目錄中建立乙個新的檔案。新的檔案繼承了指定在 sourcefile 引數中的檔名。

注意

如果不使用 -s 標誌,就不能在檔案系統之間鏈結檔案。

如果 targetdirectory 已經是鏈結到目錄上的乙個符號鏈結,那麼 ln 命令將現有的目標視為檔案。

這意味著,類似於 ln -fs somepath/lname symdir 的命令不會遵循現有的 symdir 符號鏈結,作為代替,它會建立乙個從 somepath/lname 到 symdir 的新的符號鏈結。

引數

-f 促使 ln 命令替換掉任何已經存在的目的路徑。如果目的路徑已經存在,而沒有指定 -f 標誌,ln 命令不會建立新的鏈結,而是向標準錯誤寫一條診斷訊息並繼續鏈結剩下的 sourcefiles。

-n 指定,如果鏈結是乙個現有的檔案,那麼不要覆蓋檔案的內容。 -f 標誌重設了這個標誌。這是預設的行為。

-s 促使 ln 命令建立符號鏈結。符號鏈結中包含了它所鏈結的檔案的名字。當對鏈結執行開啟操作的時候,會使用到引用檔案。對符號鏈結的 stat 呼叫會返回鏈結的目標檔案;必須完成lstat 呼叫來獲取鏈結的資訊。可以使用 readlink 呼叫來讀取符號鏈結的內容。符號鏈結可能跨越檔案系統,指向目錄。

注意:當為 -s 標誌指定 sourcefile 引數的時候,必須使用絕對路徑。如果沒有指明絕對路徑,那麼當 sourcefile 和 targetfile 引數位於不同的目錄中的時候,可能會發生意外的結果。在建立符號鏈結之前,不需要存在原始檔。

退出狀態

此命令返回以下的退出值:

0 所有指定的檔案都成功鏈結上了。

>0 出現一次錯誤。

示例

ln    -f file1    file2

這會將 file1 鏈結到新的名稱, file2。如果 file2 不存在,那麼會建立該檔名。如果 file2 已經存在了,那麼這個檔案會被替換為指向 file1的乙個鏈結。然後 file1 和 file2 檔名會指向同乙個檔案。對其中任何乙個的更改都會出現在另乙個中。如果乙個檔名被 rm 命令刪除,那麼該檔案並沒有完全被刪除,因為它仍然以其它的名字存在。

ln    index    dir1

這會將 index 鏈結到新的名稱,dir1/index。

注意:在示例 1 中的 file2 是乙個檔案的名稱;在示例 2 中的 dir1 是乙個已經存在的目錄。

ln    file2    dir2/file3    /home/dir1

這會將 file2 鏈結到新的名稱 /home/dir1/file2;將 dir2/file3 鏈結到新的名稱 /home/dir1/file3。

4>如果想要在 ln 命令中使用模式匹配字元,請輸入:

ln    dir1/* .

這會將 dir1 目錄中的所有檔案鏈結到當前目錄中, . (點),給他們在 dir1 目錄中同樣的名稱。

注意: 必須在星號和句點之間輸入乙個空格。

ln -s /tmp/test test

這會在當前的目錄中建立符號鏈結 test。 test 檔案指向 /tmp/test 檔案。如果 /tmp/test 檔案已經存在了,那麼 cat test 命令可以列出其內容。

6>如果想要在不指明 targetfile 引數的情況下得到相同的結果,請輸入:

ln -s /tmp/test

檔案

/usr/bin/ln 包含了 ln 命令

Linux ln 命令詳解

指令名稱 ln 使用許可權 所有使用者 使用方式 ln options source dist,其中 option 的格式為 bdfinsvf s backup suffix v help version 硬鏈結的意思是乙個檔案可以有多個名稱,而軟鏈結的方式則是產生乙個特殊的檔案,該檔案的內容是指向...

linux ln命令詳解

ln是 linux中乙個非常重要命令。它的功能是為某乙個檔案在另外乙個位置建立乙個同步的鏈結,這個命令最常用的引數是 s,具體用法是 ln s 原始檔 目標檔案 s 是 symbolic的意思。例 ln s lib lsb usr lj 即 在usr目錄下建立指向 lib lsb目錄的lj檔案。當我...

linux ln命令詳解

ln是 linux中乙個非常重要命令。它的功能是為某乙個檔案在另外乙個位置建立乙個同步的鏈結,這個命令最常用的引數是 s,具體用法是 ln s 原始檔 目標檔案 s 是 symbolic的意思。例 ln s lib lsb usr lj 即 在usr目錄下建立指向 lib lsb目錄的lj檔案。當我...