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