ln命令使用

Linux中ln是一個非常重要的一個命令,主要是將兩個文檔進行連接,創建一個連接關係

連接檔:ln

使用ln可以在兩個文件之間建立關聯,就類似Windows下的快捷方式,連接有兩種方式

  • Hard Link(硬式連接或實際連接)

硬連接方式,只是在某個某個目錄下新增一個該檔案的關聯數據,比如以下使用一個文本來演示,演示步驟如下:

#(1)先創建一個文本,在其中輸入內容ceshi
vim ln_test.txt

#(2)hard link,默認方式連接一個文件,與ln_text.txt創建關聯
ln ln_test.txt ln_test_hard.txt

#(3)查看ln_text_hard.txt
cat ln_test_hard.txt

#(4)輸出
ceshi

#(5) 通過ln_test_hard.txt修改內容,修改爲 hard ceshi
vim ln_test_hard.txt

#(6) 查看ln_test.txt
cat ln_test.txt
# (7)輸出
hard ceshi

#(8)刪除ln_test.txt
rm ln_test.txt

#(9)查看ln_test_hard.txt
cat ln_test_hard.txt
#(10)輸出
hard ceshi

可以看出:

  1. 修改連接文件,那麼源內容也會被修改
  2. 刪除原文件的時候,並不影響連接出的文件(因爲刪除文件只是刪除目錄底下的檔案關聯數據,並沒有更動到原本檔案的內容數據)

但是硬連接有它的缺點:

  1. 不能跨Filesystem
  2. 不能Link目錄

就衝着不能Link目錄,那就可能不太好用了,需要連接一個目錄的時候,總不能把裏面的文檔挨個都去連接一遍吧,接下來下另外一個:

  • Symbolic Link(符號連接)

符號連接可以和Windows的快捷方式畫上等號,它與硬連接在現象上的區別就是刪除原文件的時候,連接出來的文件就找不到了,演示一下:

#(1)先創建一個文本,在其中輸入內容ceshi
vim ln_test.txt
#(2)Symbolic方式連接一個文件,與ln_text.txt創建關聯
ln ln_test.txt ln_test_Symbolic.txt
#(3)查看ln_text_Symbolic.txt
cat ln_test_Symbolic.txt
#(4)輸出
ceshi

#(5) 通過ln_test_Symbolic.txt修改內容,修改爲 Symbolic ceshi
vim ln_test_Symbolic.txt

#(6) 查看ln_test.txt
cat ln_test.txt
# (7)輸出
Symbolic ceshi

#(8)刪除ln_test.txt
rm ln_test.txt

#(9)查看ln_test_Symbolic.txt
cat ln_test_Symbolic.txt
#(10)輸出找不到文件
cat:ln_test_Symbolic.txt:No Such File or Dictionary

可以看到,刪除原文件後,再cat符號連接的文件,就找不到原文件了.

咱們使用ln -il 對比查看一下:

可以看到ln_test_hard.txt和ln_test.txt兩個文件的inode指向,文件大小都是一樣的,且各是各的文件。而ln_test_Symbolic.txt它是帶有一個箭頭,->ln_test.txt的,大小剛好是它名字的長度,不是單獨的一個文件,所以就把它理解爲快捷方式就可以了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章