ln命令的使用

2021-09-14 02:05:55 字數 1857 閱讀 3670

ln命令是linux系統中的乙個很重要的命令,使用ln命令可以方便我們對於檔案的管理備份。這個命令的功能是為某乙個檔案在另外乙個位置上建立乙個不同的鏈結。ln鏈結分為兩種,一種是硬連線,一種是軟連線。

硬連線
硬連線的功能就是為同一件檔案建立多個訪問路徑。linux磁碟上的所有檔案都有乙個索引節點號(innode index),在linux上可以使用硬連線將多個訪問路徑繫結到乙個檔案上,也就是這些路徑訪問相同的索引節點表示的檔案,這樣可以防止誤刪除重要的檔案。既然多個路徑都是可以訪問該檔案,那麼刪除乙個檔案路徑會不會刪除該檔案呢?答案是不會!只用所有鏈結到該檔案的鏈結都刪除之後才會真正的刪除該檔案。

軟連線
軟連線相比較硬連線只是構建的時候多了乙個引數 -s 。軟連線類似於windows中快捷方式,當開啟該檔案的時候會鏈結到原來的檔案上去。

語法
synatax:

1.第一種表示給originsourcefile建立乙個新的鏈結檔案newlinkfile

2.第二種表示給originsourcefile建立乙個新的鏈結到目錄directory

3.第三種和第二種類似,只是引數的位置變反了。

【opition】引數說明:

-f ,--force 強制刪除已有的目標檔案

-i,--interactive 提示使用者是否需要刪除目標檔案

-s , --symbolic 建立軟連線

-b 在鏈結時被刪除或者覆蓋的檔案進行備份

-t 指定鏈結檔案將要被放置的目錄位置

-t 指定newlinkfile是乙個普通檔案

-v 顯示所有連線檔案的名字

例項
分別新建乙個檔案的軟連線和硬連線

root@izuf64dhkm7u584izpppz6z:~# vi hello.c 

root@izuf64dhkm7u584izpppz6z:~# ln -s hello.c hello.soft

root@izuf64dhkm7u584izpppz6z:~# ln hello.c hello.hard

root@izuf64dhkm7u584izpppz6z:~# ls -ali hello*

顯示結果:

2234290 -rw-r--r-- 2 root root 46 feb 28 17:33 hello.c

2234290 -rw-r--r-- 2 root root 46 feb 28 17:33 hello.hard

2234286 lrwxrwxrwx 1 root root 7 feb 28 18:46 hello.soft -> hello.c

hello.c原始檔和hello.hard硬連線的innode index相同,而hello.soft使用 ->表示連線到hello.c原始檔上

2.刪除原始檔

root@izuf64dhkm7u584izpppz6z:~# rm -rf hello.c
分別檢視硬連線和軟連線:

root@izuf64dhkm7u584izpppz6z:~# cat hello.hard 

#include int main()

root@izuf64dhkm7u584izpppz6z:~# cat hello.soft

cat: hello.soft: no such file or directory

刪除原始檔之後,硬連線依然可以連線到原檔案指向的檔案。但是軟連線已經失效了,無法連線到之前的檔案了。

參考文件

ln命令的使用

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

ln 命令的使用

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

ln 命令的使用

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