當我們在命令列上工作時,您可能需要在檔案之間建立連結。這時,您可以可以藉助一個專用命令,ln
。本教程中,我們將通過一些簡單易理解的例子來討論此工具的基礎知識。在此之前,值得一提的是,本教程所有例子都已在 Ubuntu 16.04 上測試通過。
Linux ln 命令
正如你現在所瞭解的,ln
命令能夠讓您在檔案之間建立連結。下面就是 ln
工具的語法(或者使用其他一些可行的語法)。
1 2 3 4 5 |
ln [OPTION]... [-T] TARGET LINK_NAME (第一種形式) ln [OPTION]... TARGET (第二種形式) ln [OPTION]... TARGET... DIRECTORY (第三種形式) ln [OPTION]... -t DIRECTORY TARGET... (第四種形式) |
下面是 ln
工具 man 文件描述的內容:
在第一種形式下,為目標位置(TARGET)建立一個叫 LINK_NAME 的連結。在第二種形式下,為目標位置(TARGET)在當前目錄下建立一個連結(LCTT 譯註:建立的為同名連結)。在第三和第四種形式中,在 DIRECTORY 目錄下為每一個目標位置(TARGET)建立連結。預設建立硬連結,符號連結需要
--symbolic
選項。預設建立的每一個建立的連結(新連結的名字)都不能已經存在。當建立硬連結時,目標位置(TARGET)檔案必須存在;符號連結可以儲存任意文字,如果之後解析,相對連結的解析與其父目錄有關。
通過下面問答風格的例子,可能會給你更好的理解。但是在此之前,建議您先了解 硬連結和軟連結的區別.
Q1. 如何使用 ln 命令建立硬連結?
這很簡單,你只需要像下面使用 ln
命令:
1 2 |
ln [file] [hard-link-to-file] |
例如:
1 2 |
ln test.txt test_hard_link.txt |
如此,您便可以看見一個已經建立好的,名為 test_hard_link.txt
的硬連結。
Q2. 如何使用 ln 命令建立軟/符號連結?
使用 -s
命令列選項:
1 2 |
ln -s [file] [soft-link-to-file] |
例如:
1 2 |
ln -s test.txt test_soft_link.txt |
test_soft_link.txt
檔案就是一個軟/符號連結,以天藍色文字 標識。
Q3. 如何使用 ln 命令刪除既存的同名目標檔案?
預設情況下,ln
不允許您在目標目錄下建立已存在的連結。
然而,如果一定要這麼做,您可以使用 -f
命令列選項覆蓋此行為。
提示:如果您想在此刪除過程中有所互動,您可以使用 -i
選項。
Q4. 如何使用 ln 命令建立現有檔案的同名備份?
如果您不想 ln
刪除同名的現有檔案,您可以為這些檔案建立備份。使用 -b
即可實現此效果,以這種方式建立的備份檔案,會在其檔名結尾處包含一個波浪號(~
)。
Q5. 如何在當前目錄以外的其它目錄建立連結?
使用 -t
選項指定一個檔案目錄(除了當前目錄)。比如:
1 2 |
ls test* | xargs ln -s -t /home/himanshu/Desktop/ |
上述命令會為(當前目錄下的)所有 test*
檔案建立連結,並放到桌面目錄下。
總結
當然,尤其對於新手來說,ln
並不是日常必備命令。但是,這是一個有用的命令,因為你永遠不知道它什麼時候能夠節省你一天的時間。對於這個命令,我們已經討論了一些實用的選項,如果你已經完成了這些,可以查詢 man 文件 來了解更多詳情。