當前位置:才華齋>計算機>作業系統>

怎麼使用ln命令在Linux系統中建立連線檔案

作業系統 閱讀(1.07W)

在Linux中ln命令用來為檔案建立連線,連線型別分為硬連線(Hard Link)和符號連線(Symbolic Link)兩種,預設的連線型別是硬連線。如果要建立符號連線必須使用"-s"選項。那麼怎麼使用ln命令在Linux系統中建立連線檔案?下面是相關的知識,歡迎閱讀。

怎麼使用ln命令在Linux系統中建立連線檔案

  關於軟硬連線解釋

  硬連線

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

  軟連線

符號連線(Symbolic Link),也叫軟連線。軟連結檔案又類似於Windows的快捷方式。它實際上是一個特殊的檔案。在符號連線中,該檔案實際上是一個文字檔案,其中包含著另一檔案的位置資訊。

  通過實驗加深理解

  建立不同的型別的檔案連線

root@Orangepi:~/test# touch file1 #建立一個測試檔案

root@Orangepi:~/test# ln file1 file2 #建立file的一個硬連線檔案file2

root@Orangepi:~/test# ln -s file1 file3 #建立file的一個符號連線檔案file3

root@Orangepi:~/test# ls -li #-l引數以單列格式輸出檔案資訊,-i引數輸出檔案的inode節點資訊

total 0

28125 -rw-r--r-- 2 root root 0 Feb 16 08:29 file1

28125 -rw-r--r-- 2 root root 0 Feb 16 08:29 file2

31463 lrwxrwxrwx 1 root root 5 Feb 16 08:30 file3 -> file1

從上面的結果中可以看出,硬連線檔案file2與原文件file1的inode節點相同,均為28125,然而符號連線檔案的inode節點不同。

  分別對檔案進行操作

root@Orangepi:~/test# cat >>file1 <

> 12345

> EOF

root@Orangepi:~/test# cat file1 #輸出檔案file1內容

12345

root@Orangepi:~/test# cat file2 #輸出檔案file2內容

12345

root@Orangepi:~/test# cat file3 #輸出檔案file3內容

12345

root@Orangepi:~/test# rm file1 #刪除檔案file1

root@Orangepi:~/test# cat file2

12345

root@Orangepi:~/test# cat file3

cat: file3: No such file or directory

通過上面的測試可以看出:當刪除原始檔案file1後,硬連線檔案file2不受影響,但是符號連線檔案file1無效。

  總結

依此你可以做一些相關的測試,可以得到以下全部結論:

1. 刪除符號連線file3,對檔案file1,file2無影響;

2. 刪除硬連線file2,對檔案file1,file3也無影響;

3. 刪除原檔案file1,對硬連線檔案file2沒有影響,但是會導致符號連線file3失效;

4. 同時刪除原檔案file1以及硬連線檔案file2,整個檔案才會真正的被刪除。