ln指令 為檔案建立連線

2021-06-22 14:44:09 字數 2788 閱讀 5590

ln指令:為檔案建立連線

【語    法】ln [選項] [引數]

【功能介紹】ln指令用來為檔案建立連線,連線型別分為硬鏈結(hard link)和符號連線(symbolic link)兩種,預設的連線型別是硬鏈結。如果要建立符號連線則必須使用"-s"選項。

【選項說明】

選    項

功    能 -b

為每個存在的檔案建立備份檔案-d或

-f或--directory

預設情況下,不允許對目錄創

建硬連線。此選項允許「

root

」使用者建立目錄的硬連線。受系統

設定的影響,此選項可能導致

命令執行失敗

-f強制建立連線,即使目標檔案已

經存在。目標檔案被強制

覆蓋-n

或--no-dereference

把指向目錄的符號連線目標當做

乙個普通檔案-i或

--interactive

建立連線時,如果目標檔案已經

存在,則提示使用者確認覆蓋已

存在的目標檔案-s或

--symbolic

建立符號連線。如果系統不支援

符號連線,則導致命令出錯-v或

--verbose

詳細資訊模式,輸出指令的

詳細執行過程

【引數說明】

參    數

功    能

原始檔指定連線的原始檔。如果使用「

-s」選

項建立符號連線,則「原始檔」引數可以

是檔案或者目錄。建立硬連線時,則

「原始檔」引數只能是檔案

目標檔案

指定原始檔的目標連線檔案

【經驗技巧】

ln指令預設建立的連線為硬連線,所以不能對目錄建立連線。要為目錄建立連線必須使用"-s"選項,指明建立的連線型別為符號連線。

只能為普通檔案建立硬連線,不能為目錄建立硬鏈結。而符號連線則沒有任何限制。

互為硬連線的兩個檔案(原始檔和目標檔案)等同於乙個檔案,所不同的僅僅是檔名。可以使用"ls -i"指令檢視檔案的索引節點,互為硬鏈結的檔案的索引節點(inode:index node)號相同。刪除互為硬連線的兩個檔案中的任何乙個檔案,另乙個檔案內容不受任何影響。而編輯或者修改兩者中的任何乙個檔案,另乙個檔案的內容也發生同樣的變化。

建立硬連線時,原始檔和目標檔案必須同乙個硬碟分割槽下,不能跨越不同的分割槽。而建立符號連線時,原始檔和目標檔案可以在任何硬碟分割槽下。因為符號連線檔案本身只記錄了原始檔的路徑資訊,而硬鏈結要建立乙個具有相同索引節點的連線檔案,而索引節點在不同的分割槽中自成體系的,不同的分割槽中的索引節點不能混用,所以硬鏈結只能在同乙個硬碟分割槽下。

符號連線檔案中儲存的是原始檔的存放路徑,所以刪除原始檔後,符號連線檔案將失去意義。符號連線類似於"快捷方式",可以簡化檔案或目錄的訪問路徑。可以為路徑很深或書寫不方便的檔案或目錄建立符號連線,以提高訪問效率。

【示例44】為檔案和目錄建立連線。ln命令預設建立的是硬鏈結。下面舉例說明硬鏈結的建立。具體步驟如下:

(1)在命令列中輸入下面的命令:

[root@localhost ~]# ln /etc/fstab ./myfstab  

#為原始檔/etcfstab建立硬連線myfstab 

說明:此命令沒有任何輸出資訊。

(2)使用ls指令的"-i"選項,顯示原始檔和硬鏈結檔案的索引節點資訊。在命令列中輸入下面的命令:

[root@localhost ~]# ls -i /etc/fstab .

/myfstab  #建立互為硬鏈結檔案的索引節點號 

輸出資訊如下:

1393895 ./myfstab  1393895 /etc/fstab 

說明:可以看出"/etc/fstab"檔案和"./myfstab"檔案的索引節點號是相同的,所以,除了檔名不同外,其他的完全相同。

(3)硬鏈結僅對檔案起作用,如果要建立目錄的硬連線將導致出錯。在命令列中輸入下面的命令:

[root@localhost ~]# ln mydir demolink       #試圖對目錄建立硬鏈結 

輸出資訊如下:

ln: `mydir: hard link not allowed for directory 

(4)可以使用ln指令的"-s"選項,建立目錄的符號連線。在命令列中輸入下面的命令:

[root@localhost ~]# ln -s mydir demolink  

#為目錄mydir建立符號鏈結demolink 

(5)使用ls指令檢視連線檔案的詳細資訊。在命令列中輸入下面的命令:

[root@localhost ~]# ls -l#顯示檔案詳細資訊 

輸出資訊如下:

total 84  

drwxr-xr-x 2 root root  4096 may 14 15:16 desktop  

-rw------- 1 root root  1495 may 12 23:31 anaconda-ks.cfg  

lrwxrwxrwx 1 root root     5 may 14 17:25 demolink -

>

mydir  

drwxr-xr-x 2 root root  4096 may 14 17:25 mydir 

說明:從上面的輸出資訊"demolink->mydir",可以看出連線檔案"demolink"是"mydir"目錄的符號連線。

ln 建立連線

ln有硬鏈結和符號鏈結。ln file link 硬鏈結ln s item link 軟鏈結,item可以是檔案也可以是目錄。1,硬鏈結 hard links 每個檔案都有乙個硬鏈結,這個硬鏈結給檔案起名字。當我們建立乙個硬鏈結以後,就為檔案建立了乙個額外的目錄條目。侷限性 1,不能關聯檔案系統之外...

建立檔案或目錄鏈結 ln

命令格式 ln s 原始檔或目錄 目標檔案或目錄 補充說明 ln指令用於在連線檔案或目錄,如果同時指定兩個以上的檔案或目錄,且最後的目的地是乙個已經存在的目錄,則會把前面指定的所有檔案或目錄複製到該目錄中。若同時指定多個檔案或目錄,且最後的目的地並非乙個已經存在的目錄,則會出現錯誤資訊。例項一 ln...

指令建立測試檔案

createnew 建立指定大小的新檔案 findbysid 按安全識別符號查詢檔案 layout 查詢有關該檔案的所有可用資訊 optimizemetadata 優化檔案的元資料 queryallocranges 查詢檔案的分配範圍 querycasesensitiveinfo 查詢目錄的大小寫資...