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