當(dāng)前位置:首頁(yè) > IT技術(shù) > 系統(tǒng)服務(wù) > 正文

如何在Mac上創(chuàng)建和使用符號(hào)鏈接?
2021-09-02 21:25:05

符號(hào)鏈接,也稱(chēng)為符號(hào)鏈接,是指系統(tǒng)中其他位置的文件或目錄的特殊文件。您可以將它們視為高級(jí)別名,下面是如何在MacOS中使用它們。

符號(hào)鏈接類(lèi)似于別名,但它們?cè)贛ac上的每個(gè)應(yīng)用程序中都有效--包括在終端中。當(dāng)應(yīng)用程序不想使用常規(guī)別名正確工作時(shí),它們特別有用。在MacOS上,使用 ln 效用。您不能在 Finder 中創(chuàng)建它們。MacOS中的符號(hào)鏈接與 Linux 中的符號(hào)鏈接類(lèi)似,因?yàn)樗鼈兌际穷?lèi)似 Unix 的操作系統(tǒng)。Windows 中的符號(hào)鏈接的工作方式有點(diǎn)不同。

什么是符號(hào)鏈接?

在MacOS中,您可以在Finder中創(chuàng)建常規(guī)別名。別名指向文件或文件夾,但它們更像是簡(jiǎn)單的快捷方式。

符號(hào)鏈接是一種更高級(jí)的別名類(lèi)型,它適用于系統(tǒng)上的每個(gè)應(yīng)用程序,包括終端中的命令行實(shí)用程序。您創(chuàng)建的符號(hào)鏈接在應(yīng)用程序中似乎與它所指向的原始文件或文件夾相同--盡管它只是一個(gè)鏈接。

例如,假設(shè)您有一個(gè)程序需要將其文件存儲(chǔ)在/Library/Program中。但是您希望將這些文件存儲(chǔ)在系統(tǒng)上的其他地方-例如,在/卷/Program中。您可以將Program目錄移動(dòng)到/VILES/Program,然后在/Library/Program中創(chuàng)建一個(gè)符號(hào)鏈接,指向/卷/Program。程序?qū)L試訪(fǎng)問(wèn)/Library/Program中的文件夾,而操作系統(tǒng)將將其重定向到/卷/Program。

這對(duì)于MacOS操作系統(tǒng)和您使用的應(yīng)用程序來(lái)說(shuō)是完全透明的。如果您瀏覽到Finder或任何其他應(yīng)用程序中的/Library/Program目錄,那么它似乎包含了/volks/Program中的文件。

除了符號(hào)鏈接(有時(shí)被稱(chēng)為“軟鏈接”)之外,您還可以創(chuàng)建“硬鏈接”。符號(hào)或軟鏈接指向文件系統(tǒng)中的路徑。例如,假設(shè)您有來(lái)自/user/示例的符號(hào)--或軟鏈接--指向/opt/示例。如果您將文件移動(dòng)到/opt/示例,那么/user/sample的鏈接就會(huì)中斷。但是,如果您創(chuàng)建了一個(gè)硬鏈接,它實(shí)際上將指向文件系統(tǒng)上的基礎(chǔ)inode。因此,如果您創(chuàng)建了一個(gè)指向/opt/例的硬鏈接,并在以后移動(dòng)了/opt/示例,那么/user/示例中的鏈接仍然指向文件,不管您在哪里移動(dòng)它。硬鏈接在一個(gè)較低的層次起作用。

您通常應(yīng)該使用標(biāo)準(zhǔn)符號(hào)鏈接(軟鏈接),如果您不確定使用哪一個(gè)。硬鏈接有一些限制。例如,不能在一個(gè)分區(qū)或磁盤(pán)上創(chuàng)建指向另一個(gè)分區(qū)或磁盤(pán)上某個(gè)位置的硬鏈接,而可以使用標(biāo)準(zhǔn)的符號(hào)鏈接來(lái)實(shí)現(xiàn)這一點(diǎn)。


使用ln命令創(chuàng)建符號(hào)鏈接

要在Mac上創(chuàng)建一個(gè)符號(hào)鏈接,您需要使用終端應(yīng)用程序。

按命令+空格,鍵入“終端”,然后按下“Enter”以打開(kāi)Spotlight搜索中的終端。導(dǎo)航到Finder>Applications>實(shí)用程序>終端,以啟動(dòng)終端快捷方式。

如何在Mac上創(chuàng)建和使用符號(hào)鏈接?_蘋(píng)果mac

運(yùn)行l(wèi)n 命令的形式如下??梢灾付夸浕蛭募穆窂剑?/p>

ln -s /path/to/original /path/to/link

這個(gè)-s?這里告訴ln命令創(chuàng)建一個(gè)符號(hào)鏈接。如果要?jiǎng)?chuàng)建硬鏈接,則忽略-s。大多數(shù)情況下,符號(hào)鏈接是更好的選擇,所以不要?jiǎng)?chuàng)建硬鏈接,除非您有特定的理由這樣做。

下面是一個(gè)例子。假設(shè)您希望在桌面文件夾中創(chuàng)建指向下載文件夾的符號(hào)鏈接。您將運(yùn)行以下命令:?

ln -s /Users/name/Downloads /Users/name/Desktop

如何在Mac上創(chuàng)建和使用符號(hào)鏈接?_蘋(píng)果mac_02

創(chuàng)建鏈接后,您將看到您的下載文件夾出現(xiàn)在桌面上。它實(shí)際上是您創(chuàng)建的符號(hào)鏈接,但它看起來(lái)像真正的鏈接。此文件夾將顯示包含與下載文件夾相同的所有文件。這是因?yàn)樗鼈兪遣煌囊晥D,指向文件系統(tǒng)上相同的底層目錄。

如何在Mac上創(chuàng)建和使用符號(hào)鏈接?_蘋(píng)果mac_03

如果您的文件路徑包含空格或其他特殊字符,則需要將其括在引號(hào)中。因此,如果要在桌面上創(chuàng)建指向用戶(hù)目錄中名為“MyFiles”的文件夾的鏈接,則需要以下命令:?

ln -s "/Users/name/My Files" "/Users/name/Desktop/My Link"

為了方便輸入文件和目錄路徑到終端,您可以將文件夾從Finder窗口拖放到終端,終端將自動(dòng)填充到該文件夾的路徑。如果有必要的話(huà),它也會(huì)將路徑用引號(hào)括起來(lái)。

如何在Mac上創(chuàng)建和使用符號(hào)鏈接?_符號(hào)鏈接_04

如果需要在用戶(hù)帳戶(hù)無(wú)法訪(fǎng)問(wèn)的系統(tǒng)位置創(chuàng)建符號(hào)鏈接,則需要在ln 命令的sudo 命令,就像這樣:?

sudo ln -s /path/to/original /path/to/link

請(qǐng)記住,在MacOS的現(xiàn)代版本中,由于系統(tǒng)完整性保護(hù)功能,您不能在不更改低級(jí)固件選項(xiàng)的情況下寫(xiě)入特定的系統(tǒng)位置。您可以禁用該功能,但我們建議您不要。

如何在Mac上創(chuàng)建和使用符號(hào)鏈接?_蘋(píng)果mac_05


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

您可以刪除符號(hào)鏈接,就像刪除任何其他類(lèi)型的文件一樣。例如,要?jiǎng)h除Finder中的符號(hào)鏈接,Ctrl+單擊或右鍵單擊它并選擇“移動(dòng)到垃圾”。

如何在Mac上創(chuàng)建和使用符號(hào)鏈接?_蘋(píng)果mac_06

可以使用 rm 命令,該命令與刪除其他文件的命令相同。運(yùn)行該命令并指定要?jiǎng)h除的鏈接的路徑:?

rm /path/to/link

如何在Mac上創(chuàng)建和使用符號(hào)鏈接?_蘋(píng)果mac_07


如何使用圖形工具創(chuàng)建符號(hào)鏈接?

Finder可以創(chuàng)建別名,但是它們不會(huì)像符號(hào)鏈接那樣工作。別名就像 Windows 上的桌面快捷鍵。它們不被視為真實(shí)、透明的符號(hào)鏈接。

為了能夠在Finder中創(chuàng)建符號(hào)鏈接,您需要一個(gè)第三方實(shí)用程序或腳本。我們推薦開(kāi)源應(yīng)用 SymbolicLinker 快速添加一個(gè)Services>Make符號(hào)鏈接選項(xiàng)到Finder的上下文菜單。

單擊它添加的選項(xiàng),它將創(chuàng)建指向當(dāng)前目錄中選定文件或文件夾的符號(hào)鏈接。你可以把它重命名,并把它移到任何你喜歡的地方。

如何在Mac上創(chuàng)建和使用符號(hào)鏈接?_符號(hào)鏈接_08

如果您以前沒(méi)有使用過(guò)它們,符號(hào)鏈接可能需要一些時(shí)間來(lái)包裝您的頭,并習(xí)慣使用。但是,一旦您這樣做了,您就會(huì)發(fā)現(xiàn)它們是一個(gè)強(qiáng)大的工具,可以用來(lái)執(zhí)行通常使用常規(guī)別名無(wú)法完成的任務(wù)。

本文摘自 :https://blog.51cto.com/u

開(kāi)通會(huì)員,享受整站包年服務(wù)立即開(kāi)通 >