ln的用法解析

2021-10-02 04:29:44 字數 2711 閱讀 4575

用來為檔案建立鏈結

ln命令用來為檔案建立鏈結,鏈結型別分為硬鏈結和符號鏈結兩種,預設的鏈結型別是硬鏈結。如果要建立符號鏈結必須使用"-s"選項。

ln [選項]... [-t] 目標 鏈結名    (第一種格式)

或:ln [選項]... 目標 (第二種格式)

或:ln [選項]... 目標... 目錄 (第三種格式)

或:ln [選項]... -t 目錄 目標... (第四種格式)

選項

--backup[=control]  為每個已存在的目標檔案建立備份檔案

-b 類似--backup,但不接受任何引數

-d, -f, --directory 建立指向目錄的硬鏈結(只適用於超級使用者)

-f, --force 強行刪除任何已存在的目標檔案

-i, --interactive 覆蓋既有檔案之前先詢問使用者;

-l, --logical 取消引用作為符號鏈結的目標

-n, --no-dereference 把符號鏈結的目的目錄視為一般檔案;

-p, --physical 直接將硬鏈結到符號鏈結

-r, --relative 建立相對於鏈結位置的符號鏈結

-s, --symbolic 對原始檔建立符號鏈結,而非硬鏈結;

-s, --suffix=suffix 用"-b"引數備份目標檔案後,備份檔案的字尾會被加上乙個備份字串,預設的備份字串是符號「~」,使用者可通過「-s」引數來改變它;

-t, --target-directory=directory 指定要在其中建立鏈結的directory

-t, --no-target-directory 將「link_name」視為常規檔案

-v, --verbose 列印每個鏈結檔案的名稱

--help 顯示此幫助資訊並退出

--version 顯示版本資訊並退出

引數

none, off       # 不進行備份(即使使用了--backup 選項)

numbered, t # 備份檔案加上數字進行排序

existing, nil # 若有數字的備份檔案已經存在則使用數字,否則使用普通方式備份

******, never # 永遠使用普通方式備份

例項

將目錄/usr/mengqc/mub1下的檔案m2.c鏈結到目錄/usr/liu下的檔案a2.c

cd /usr/mengqc

ln /mub1/m2.c /usr/liu/a2.c

在執行ln命令之前,目錄/usr/liu中不存在a2.c檔案。執行ln之後,在/usr/liu目錄中才有a2.c這一項,表明m2.c和a2.c鏈結起來(注意,二者在物理上是同一檔案),利用ls -l命令可以看到鏈結數的變化。

在目錄/usr/liu下建立乙個符號鏈結檔案abc,使它指向目錄/usr/mengqc/mub1

ln -s /usr/mengqc/mub1 /usr/liu/abc
執行該命令後,/usr/mengqc/mub1代表的路徑將存放在名為/usr/liu/abc的檔案中。

linux具有為乙個檔案起多個名字的功能,稱為鏈結。被鏈結的檔案可以存放在相同的目錄下,但是必須有不同的檔名,而不用在硬碟上為同樣的資料重複備份。另外,被鏈結的檔案也可以有相同的檔名,但是存放在不同的目錄下,這樣只要對乙個目錄下的該檔案進行修改,就可以完成對所有目錄下同名鏈結檔案的修改。對於某個檔案的各鏈結檔案,我們可以給它們指定不同的訪問許可權,以控制對資訊的共享和增強安全性。

檔案鏈結有兩種形式,即硬鏈結和符號鏈結。

硬鏈結

建立硬鏈結時,在另外的目錄或本目錄中增加目標檔案的乙個目錄項,這樣,乙個檔案就登記在多個目錄中。如圖所示的m2.c檔案就在目錄mub1和liu中都建立了目錄項。

建立硬鏈結後,己經存在的檔案的i節點號(inode)會被多個目錄檔案項使用。乙個檔案的硬鏈結數可以在目錄的長列**式的第二列中看到,無額外鏈結的檔案的鏈結數為l。

在預設情況下,ln命令建立硬鏈結。ln命令會增加鏈結數,rm命令會減少鏈結數。乙個檔案除非鏈結數為0,否則不會從檔案系統中被物理地刪除。

符號鏈結

符號鏈結也稱為軟鏈結,是將乙個路徑名鏈結到乙個檔案。這些檔案是一種特別型別的檔案。事實上,它只是乙個文字檔案(如圖中的abc檔案),其中包含它提供鏈結的另乙個檔案的路徑名,如圖中虛線箭頭所示。另乙個檔案是實際包含所有資料的檔案。所有讀、寫檔案內容的命令被用於符號鏈結時,將沿著鏈結方向前進來訪問實際的檔案。

!符號連線

與硬鏈結不同的是,符號鏈結確實是乙個新檔案,當然它具有不同的i節點號;而硬鏈結並沒有建立新檔案。

符號鏈結沒有硬鏈結的限制,可以對目錄檔案做符號鏈結,也可以在不同檔案系統之間做符號鏈結。

用ln -s命令建立符號鏈結時,原始檔最好用絕對路徑名。這樣可以在任何工作目錄下進行符號鏈結。而當原始檔用相對路徑時,如果當前的工作路徑與要建立的符號鏈結檔案所在路徑不同,就不能進行鏈結。

ln 命令的用法

功能 連線檔案或目錄。為某乙個檔案在另外乙個位置建立乙個同步的鏈結。當我們需要在不同的目錄,用到相同的檔案時,我們不需要在每乙個需要的目錄下都放乙個必須相同的檔案,我們只要在某個固定的目錄,放上該檔案,然 後在其它的目錄下用ln命令鏈結 link 它就可以,不必重複的占用磁碟空間。用法 將某個檔案鏈...

ln命令的用法

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

linux命令ln的用法

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