自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux 中的 ln 命令:創(chuàng)建軟鏈接和硬鏈接

系統(tǒng) Linux
硬鏈接和軟鏈接都是使用 ln 命令創(chuàng)建的,本文將會(huì)介紹如何使用 ln 命令在 Linux 中創(chuàng)建多種類型的鏈接。

鏈接是對(duì)另一個(gè)文件的引用,它為同一文件提供多個(gè)名稱,并允許它們同時(shí)位于兩個(gè)或多個(gè)位置。

有兩種類型的鏈接:

  • 軟連接:也稱為符號(hào)鏈接,原始文件的快捷方式;
  • 硬鏈接:這將指向原始文件的內(nèi)存位置。

下圖顯示了兩種鏈接的工作方式:

圖片

硬鏈接和軟鏈接都是使用 ln 命令創(chuàng)建的,本文將會(huì)介紹如何使用 ln 命令在 Linux 中創(chuàng)建多種類型的鏈接。

ln 命令示例

ln 命令的語(yǔ)法很簡(jiǎn)單:

ln [option] target_file link_name

下面我們通過(guò)例子來(lái)具體看一下。

1,創(chuàng)建指向文件的硬鏈接

創(chuàng)建指向文件的硬鏈接,可在不添加任何選項(xiàng)的情況下使用 ln 命令,如下:

ln target_file link_name

圖片

2,創(chuàng)建指向文件的軟連接

要?jiǎng)?chuàng)建指向文件的軟連接,使用 ln 命令的 -s 選項(xiàng):

ln -s target_file link_name

圖片

ls -l 命令的輸出列表中,大多數(shù) LInux 終端都會(huì)以不同顏色顯示軟鏈接及其指向的目標(biāo);同時(shí)鏈接都會(huì)以 l 開頭,而不是普通文件的 -,這也是識(shí)別鏈接的一種方式。

3,創(chuàng)建指向目錄的軟鏈接

創(chuàng)建指向目錄的軟鏈接與創(chuàng)建指向文件的軟鏈接方法相同,將文件名替換為目錄名即可:

ln -s target_directory link_name

圖片

你可能會(huì)注意到了,在 Linux 終端中,軟鏈接和硬鏈接的顏色是不同的,一般情況下,無(wú)法創(chuàng)建指向目錄的硬鏈接。

4,更新已有的軟鏈接(或硬鏈接)

鏈接是可以被覆蓋的。默認(rèn)情況下,如果你使用一個(gè)已有的鏈接指向一個(gè)新文件,會(huì)報(bào)錯(cuò):

ln: failed to create symbolic link 'soft-link-to-file': File exists

要覆蓋現(xiàn)有鏈接,有兩種方式(即 ln 命令的兩個(gè)選項(xiàng)):

  • -i:系統(tǒng)會(huì)詢問(wèn)你是否要覆蓋現(xiàn)有鏈接;
  • -f:強(qiáng)制覆蓋現(xiàn)有鏈接,不會(huì)給確認(rèn)信息。

比如,我們要強(qiáng)制覆蓋一個(gè)現(xiàn)有鏈接,看下面的例子:

ln -sf new_file existing_soft_link

在這里需要注意,如果是要覆蓋一個(gè)軟鏈接的話,需要添加 -s 選項(xiàng),否則會(huì)將軟鏈接轉(zhuǎn)換為硬鏈接。

圖片

通過(guò)鏈接鏈獲取原始文件

通常情況下,使用 ls -l 命令來(lái)查看文件的時(shí)候,鏈接會(huì)顯示它所指向的文件。

但如果存在鏈接鏈的話,則不會(huì)顯示原始文件。例如,創(chuàng)建指向文件的鏈接,然后創(chuàng)建指向第一個(gè)鏈接的另一個(gè)鏈接;在長(zhǎng)列表的輸出中,第二個(gè)鏈接將指向第一個(gè)鏈接。

要從鏈接鏈中找到原始文件,可以使用 readlink -f 命令,如下所示:

readlink -f soft_link

選項(xiàng) -f 表示 follow,即 follow the chain。

圖片

為什么會(huì)需要鏈接

上面我們介紹了如何創(chuàng)建鏈接,接下來(lái)我們?cè)賮?lái)了解下鏈接的實(shí)際用途。

假設(shè)我們下載了一個(gè)包含有代碼和可執(zhí)行文件的軟件,然后我們將整個(gè)軟件放在了 /opt 目錄中。但是如果想要從任何路徑下都可以運(yùn)行該程序,那需要將可執(zhí)行文件放到 /usr/bin 目錄下。

如果我們將可執(zhí)行文件放到 /usr/bin 目錄下以后,它可能不會(huì)正常運(yùn)行,因?yàn)樗枰L問(wèn)某些代碼(即隨同文件一起被下載的那些代碼),但是在 /usr/bin 目錄下無(wú)法找到這些代碼文件。這種情況下,我們就可以在 /usr/bin 目錄中創(chuàng)建指向該可執(zhí)行文件的鏈接,而不是把可執(zhí)行文件移動(dòng)到該目錄下。

這樣,程序就可以在系統(tǒng)的任何地方運(yùn)行,其可執(zhí)行文件仍會(huì)保留在原地方。

鏈接是 Linux 的重要組成部分,它在應(yīng)用在很多地方。在系統(tǒng)的 /lib 目錄下,會(huì)有很多軟鏈接存在。

責(zé)任編輯:龐桂玉 來(lái)源: TIAP
相關(guān)推薦

2023-11-15 08:27:46

Linux系統(tǒng)

2020-06-01 19:00:42

Linux軟鏈接硬鏈接

2017-01-15 15:27:51

Linux軟連接和硬鏈接

2022-02-28 09:44:09

Linux硬鏈接軟鏈接

2019-11-01 11:06:02

Linux操作系統(tǒng)Windows

2018-11-09 10:10:09

Linux硬鏈接軟鏈接

2018-11-09 10:30:05

Linux硬鏈接軟鏈接

2021-06-18 08:15:37

Linux軟鏈接硬鏈接

2019-06-21 10:52:28

軟連接硬鏈接Linux

2023-02-06 17:49:35

Linux符號(hào)鏈接

2010-05-04 13:09:21

Unix操作系統(tǒng)

2021-07-16 10:20:56

Linux 硬鏈接Linux 系統(tǒng)

2023-07-25 16:55:15

Linuxinode

2023-03-05 16:36:14

Linux鏈接目標(biāo)文件

2023-02-13 11:26:03

符號(hào)鏈接Linux

2024-01-29 10:20:39

Obsidian鏈接

2013-11-14 11:38:20

Linux Kerne編譯

2014-01-14 10:22:21

LinuxLinux命令

2010-02-25 15:11:48

Linux Makef

2010-03-01 16:40:40

Linux Makef
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)