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

如何在 Linux 中創(chuàng)建符號(hào)鏈接

系統(tǒng) Linux
如果您嘗試訪問(wèn)符號(hào)鏈接,您實(shí)際上訪問(wèn)的是符號(hào)鏈接指向的目標(biāo)文件。對(duì)鏈接文件內(nèi)容所做的更改會(huì)更改實(shí)際目標(biāo)文件的內(nèi)容。

符號(hào)鏈接 Symbolic Links,也稱為 Symlinks 或 soft link,是一種特殊類型的文件,它就像 Windows 中的快捷方式一樣簡(jiǎn)單地指向另一個(gè)文件或目錄。創(chuàng)建符號(hào)鏈接就像創(chuàng)建一個(gè)實(shí)際文件的別名。

如果您嘗試訪問(wèn)符號(hào)鏈接,您實(shí)際上訪問(wèn)的是符號(hào)鏈接指向的目標(biāo)文件。對(duì)鏈接文件內(nèi)容所做的更改會(huì)更改實(shí)際目標(biāo)文件的內(nèi)容。

如果使用帶選項(xiàng) -l 的 ls 命令,符號(hào)鏈接如下所示:

lrwxrwxrwx 1 linuxmi linuxmi     11  2 1 18:58 linuxmi.md -> linuxmi.dat

在大多數(shù) Linux 發(fā)行版中,鏈接以與其余條目不同的顏色顯示,以便您可以將鏈接與常規(guī)文件和目錄區(qū)分開(kāi)來(lái)。

符號(hào)鏈接提供了一種組織和共享文件的便捷方式。它們提供對(duì)長(zhǎng)而混亂的目錄路徑的快速訪問(wèn)。它們?cè)?Linux 中大量用于鏈接庫(kù)。

現(xiàn)在您對(duì)符號(hào)鏈接有了一些了解,讓我們看看如何創(chuàng)建它們。

如何在 Linux 中創(chuàng)建符號(hào)鏈接

要從 link name 創(chuàng)建指向目標(biāo)文件的符號(hào)鏈接,您可以使用帶有 -s 選項(xiàng)的 ln 命令,如下所示:

ln -s target_file link_name

-s 選項(xiàng)在這里很重要。判斷該鏈接為軟鏈接。如果你不使用它,它會(huì)創(chuàng)建一個(gè)硬鏈接。我將在另一篇文章中解釋軟鏈接和硬鏈接之間的區(qū)別。

如何跟蹤符號(hào)鏈接

要知道鏈接實(shí)際指向哪個(gè)真實(shí)文件,請(qǐng)使用 realpath 命令:

realpath link_name

還有其他方法可以跟蹤到其源文件的軟鏈接,但 realpath 是最簡(jiǎn)單的。

如何刪除符號(hào)鏈接

Linux中沒(méi)有刪除符號(hào)鏈接的特殊命令。您可以使用與刪除文件和目錄相同的 rm 命令::

rm link_name

刪除鏈接不會(huì)刪除它鏈接到的源文件。

您也可以在一個(gè)命令中刪除多個(gè)符號(hào)鏈接:

rm link1 link2

還有一個(gè)unlink 命令。但與名字給人的印象不同,unlink 命令并不是專門(mén)用來(lái)刪除鏈接的。當(dāng)然,它可以刪除文件、文件夾和鏈接。但是,它有某些限制,即使是刪除鏈接,rm 命令也是更好的選擇。

如果要使用 find 命令列出符號(hào)鏈接,可以使用該-type l選項(xiàng)。

關(guān)于符號(hào)鏈接的注意事項(xiàng)

符號(hào)鏈接有時(shí)可能會(huì)造成混淆,因此您應(yīng)該注意一些事項(xiàng)。

對(duì)鏈接所做的更改反映在原始文件中

畢竟,這就是鏈接的全部目的。您可以通過(guò)訪問(wèn)鏈接來(lái)訪問(wèn)目標(biāo)文件。您可以通過(guò)鏈接對(duì)目標(biāo)文件進(jìn)行更改。讓我們看例子。

我在 newdir/test_dir 中有一個(gè)文件 ??prog.py??。它具有以下屬性:

-rw-r--r-- 1 linuxmi linuxmi 1926  2 1 19:08 /home/linuxmi/linuxmi.com/linuxmi/linuxmi.py

現(xiàn)在,我將在當(dāng)前目錄中創(chuàng)建指向該文件的軟鏈接:

┌──(linuxmi?linuxmi)-[~]
└─$ ln -s /home/linuxmi/linuxmi.com/linuxmi/linuxmi.py test

以下是新創(chuàng)建鏈接的屬性:

lrwxrwxrwx 1 linuxmi linuxmi     44  2 1 19:24 test -> /home/linuxmi/linuxmi.com/linuxmi/linuxmi.py

注意到行首的 l(是 L,不是一 1)了嗎?如果你熟悉 Linux 中的文件權(quán)限,你就會(huì)知道’l’表示鏈接,因此它告訴你這個(gè)文件實(shí)際上是一個(gè)鏈接。提個(gè)醒,- 表示文件,d 表示目錄。

現(xiàn)在,如果我使用此鏈接更改內(nèi)容或?qū)傩?,同樣?huì)反映在目標(biāo)文件中。例如,我在軟鏈接上使用 touch 命令,你會(huì)注意到它改變了目標(biāo)文件的時(shí)間戳。

┌──(linuxmi?linuxmi)-[~/linuxmi]
└─$ touch test

┌──(linuxmi?linuxmi)-[~/linuxmi]
└─$ ls -l /home/linuxmi/linuxmi.com/linuxmi/linuxmi.py
-rw-r--r-- 1 linuxmi linuxmi 1926 2 1 19:27 /home/linuxmi/linuxmi.com/linuxmi/linuxmi.py

它鏈接到文件還是目錄?你可能不知道!

您如何知道鏈接指向的是文件還是目錄?在您按照路徑訪問(wèn)目標(biāo)文件本身之前,您無(wú)法知道這一點(diǎn)。

您可以創(chuàng)建指向不存在的文件或目錄的鏈接

是的,這完全有可能。這就是為什么在 Linux 中創(chuàng)建軟鏈接時(shí)應(yīng)該小心的原因。您鏈接到的目標(biāo)文件不需要存在。創(chuàng)建指向不存在的文件/目錄的鏈接時(shí),您不會(huì)收到任何錯(cuò)誤或警告。

ls 命令仍然有效。僅當(dāng)您嘗試通過(guò)鏈接或單獨(dú)訪問(wèn)目標(biāo)文件時(shí)才會(huì)出現(xiàn)錯(cuò)誤。

┌──(linuxmi?linuxmi)-[~/linuxmi]
└─$ ln -s non_existant_dir link_dir

┌──(linuxmi?linuxmi)-[~/linuxmi]
└─$ less link_dir
link_dir: 沒(méi)有那個(gè)文件或目錄

符號(hào)鏈接是使用 777 權(quán)限創(chuàng)建的,但它沒(méi)有任何意義

您是否注意到符號(hào)鏈接上的文件權(quán)限?符號(hào)鏈接始終使用 777 權(quán)限 (rwxrwxrwx) 創(chuàng)建。對(duì)于常規(guī)文件,這意味著任何人都可以訪問(wèn)該文件。但鏈接并非如此。

lrwxrwxrwx 1 linuxmi linuxmi 11 2 1 18:58 linuxmi.md -> linuxmi.dat

如果鏈接上的文件權(quán)限按原樣處理,任何用戶都可以創(chuàng)建指向安全文件的符號(hào)鏈接并自由訪問(wèn)它。那將是一個(gè)主要的安全問(wèn)題。值得慶幸的是,這不會(huì)發(fā)生。因?yàn)槟繕?biāo)文件的權(quán)限很重要,而不是鏈接的權(quán)限。

您可以使用 chmod 命令更改鏈接的權(quán)限,但它會(huì)更改鏈接文件的權(quán)限,而不是鏈接本身。

您可以鏈接到一個(gè)鏈接的鏈接,也就是鏈?zhǔn)椒?hào)鏈接

您可以創(chuàng)建指向另一個(gè)鏈接的符號(hào)鏈接等等。這稱為鏈?zhǔn)椒?hào)鏈接。最好避免使用它們,因?yàn)樗鼤?huì)造成更多混亂。

嗯,就是這樣。我假設(shè)您現(xiàn)在對(duì)軟鏈接有了更好的了解,并且您知道如何在 Linux 中創(chuàng)建符號(hào)鏈接。您也可以查看 symlinks 命令,它可以幫助您在 Linux 中找到斷開(kāi)的符號(hào)鏈接并輕松管理它們。

責(zé)任編輯:趙寧寧 來(lái)源: Linux迷
相關(guān)推薦

2023-02-07 08:13:47

Linux符號(hào)鏈接

2020-06-09 15:35:46

Linux符號(hào)鏈接

2021-11-15 05:37:19

Linux 符號(hào)鏈接命令

2011-05-04 09:11:30

RPM包Linux

2019-05-14 11:00:07

LinuxSSH別名

2023-02-13 11:26:03

符號(hào)鏈接Linux

2018-01-26 09:02:30

LinuxPDF創(chuàng)建視頻

2019-09-24 19:00:41

Linuxrm命令unlink命令

2021-02-18 17:00:52

Linux歸檔文件

2022-07-10 21:20:11

C語(yǔ)言Linux

2017-02-10 20:00:17

Linux共享目錄命令

2020-10-09 11:15:14

LinuxLVM邏輯卷管理

2022-09-08 10:40:16

Linux Mint工作區(qū)程序

2022-10-21 08:18:54

Linuxln 命令

2015-04-09 11:05:55

openstack公有云openstack鏡像

2020-07-13 07:00:21

Kubernetes

2017-01-11 16:41:16

Linux設(shè)備文件文件系統(tǒng)

2022-11-01 15:38:22

LinuxShell

2019-09-16 13:48:03

Linux管理日志

2021-04-30 13:19:20

Linux刪除分區(qū)
點(diǎn)贊
收藏

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