符號連結,也稱為符號連結,是指向系統上其他位置的檔案或目錄的特殊檔案。你可以把它們想象成高級別名,下面是如何在MacOS中使用它們。
符號連結與別名類似,只是它們在Mac上的每個應用程式(包括終端)中都有效。當應用程式不想使用常規別名正常工作時,它們特別有用。在macOS上,可以使用ln實用程式在終端中建立符號連結。您不能在Finder中建立它們。macOS中的符號連結的工作方式與Linux中的符號連結類似,因為兩者都是類似Unix的作業系統。Windows中的符號連結的工作方式有點不同。
相關:如何在Linux上建立和使用符號連結(又稱Symlinks)
在macOS中,您可以在Finder中建立常規別名。別名指向檔案或資料夾,但它們更像是簡單的快捷方式。
符號連結是一種更高階的別名型別,適用於系統中的每個應用程式,包括終端中的命令列實用程式。你建立的符號連結在應用程式看來與它指向的原始檔案或資料夾相同,即使它只是一個連結。
例如,假設您有一個程式需要將其檔案儲存在/Library/program中。但您希望將這些檔案儲存在系統的其他位置,例如,在/Volumes/Program中。您可以將程式目錄移動到/Volumes/Program,然後在/Library/Program處建立指向/Volumes/Program的符號連結。程式將嘗試訪問其位於/Library/program的資料夾,作業系統將其重定向到/Volumes/program。
這對macOS作業系統和您使用的應用程式是完全透明的。如果瀏覽到Finder或任何其他應用程式中的/Library/Program目錄,它似乎包含/Volumes/Program中的檔案。
除了符號連結(有時稱為“軟連結”)之外,您還可以建立“硬連結”。符號或軟連結指向檔案系統中的路徑。例如,假設您有一個從/Users/example指向/opt/example的符號或軟連結。如果將檔案移動到/opt/example,則/Users/example處的連結將斷開。但是,如果建立硬連結,它實際上會指向檔案系統上的底層inode。因此,如果您從/Users/example建立了指向/opt/example的硬連結,然後又移動了/opt/example,/Users/example處的連結仍然指向該檔案,無論您將其移動到何處。硬連結在較低級別工作。
如果您不確定要使用哪種符號連結,通常應該使用標準符號連結(軟連結)。硬連結有一些限制。例如,不能在一個分割槽或磁碟上建立指向另一個分割槽或磁碟上某個位置的硬連結,而可以使用標準符號連結。
要在Mac上建立符號連結,您需要使用終端應用程式。
按Command+Space,鍵入“Terminal”,然後按“Enter”從Spotlight search開啟Terminal。導航到Finder>Applicati***>Utilities>Terminal以啟動終端快捷方式。
按以下形式執行ln命令。您可以指定目錄或檔案的路徑:
ln -s /path/to/original /path/to/link這裡的-s告訴ln命令建立一個符號連結。如果要建立硬連結,可以省略-s。大多數情況下,符號連結是更好的選擇,因此不要建立硬連結,除非您有特定的原因這樣做。
下面是一個例子。假設您想在桌面資料夾中建立一個指向下載資料夾的符號連結。您可以執行以下命令:
ln -s /Users/name/Downloads /Users/name/Desktop建立連結後,你會看到你的下載資料夾出現在你的桌面上。它實際上是你建立的符號連結,但它看起來像真實的東西。此資料夾似乎包含與下載資料夾相同的所有檔案。這是因為它們只是指向檔案系統上相同底層目錄的不同檢視。
如果檔案路徑包含空格或其他特殊字元,則需要用引號將其括起來。因此,如果要在桌面上建立指向使用者目錄中名為“My Files”的資料夾的連結,則需要以下命令:
ln -s "/Users/name/My Files" "/Users/name/Desktop/My Link"為了便於在終端中鍵入檔案和目錄路徑,您可以將資料夾從Finder視窗拖放到終端中,終端將自動填充到該資料夾的路徑。如果需要,它也會用引號將路徑括起來。
如果需要在使用者帳戶無權訪問的系統位置建立符號連結,則需要在ln命令前面加sudo命令,如下所示:
sudo ln -s /path/to/original /path/to/link相關:如何在Mac上禁用系統完整性保護(以及為什麼不禁用)
請記住,在現代版本的macOS上,由於系統完整性保護功能,如果不更改低階韌體選項,就不允許寫入某些系統位置。您可以禁用該功能,但我們建議您不要禁用。
您可以像刪除任何其他型別的檔案一樣刪除符號連結。例如,要刪除Finder中的符號連結,請按住Ctrl鍵並單擊或右鍵單擊它,然後選擇“移動到垃圾箱”。
可以使用rm命令從命令列中刪除連結,這與刪除其他檔案時使用的命令相同。執行命令並指定要刪除的連結的路徑:
rm /path/to/linkFinder可以建立別名,但它們不像符號連結那樣工作。別名就像Windows上的桌面快捷方式。它們不被視為真正的、透明的符號連結。
為了能夠在Finder中建立符號連結,您需要一個第三方實用程式或指令碼。我們建議使用開源應用程式,以便在查詢器的上下文選單中快速新增“服務”>;“生成符號連結”選項。
單擊它新增的選項,它將建立一個指向當前目錄中所選檔案或資料夾的符號連結。您可以重新命名它並將其移動到任何您喜歡的位置。
如果您以前沒有使用過它們,那麼符號連結可能需要一點時間來讓您的頭腦清醒過來,並習慣於使用它們。但是,一旦您這樣做了,您就會發現它們是一個強大的工具,可以用來完成常規別名通常無法完成的任務。
... 您可以使用符號連結(symlink)使檔案或資料夾看起來好像存在於其他位置。應用程式讀取並使用符號連結指向不同的目標位置。 ...
... shutil.copy([source directory path], [destination directory path], follow_symlinks=True) ...
... 編輯器命令實際上是一個符號連結(symlink)。你可能會問,有沒有nano的連結?不!命令/usr/bin/editor是指向/etc/alternatives/editor的連結。/etc/alternatives目錄是將系統中的所有備選方案作為符號連結進行管理的地...
...,可以簡化建立硬連結、連線或卷裝入點以及符號連結(symlinks)的過程,只需單擊幾下。找到檔案或資料夾,單擊滑鼠右鍵,然後從選單中選擇“拾取連結源”。 ...
...何必要的事情來修復符號連結。 請注意,如果嘗試執行symlink,則得到的錯誤引用的是symlink名稱,而不是symlink指向的程式的名稱。 我們鍵入以下內容: ./hello 查詢斷開的符號連結 大多數find的現代版本都有xtype(擴充套件型別...
...,而且您不必記住一組晦澀難懂的命令列選項。 相關:如何使用ls命令列出Linux上的檔案和目錄 快速比較 讓我們使用ls給出一個長列表(-l選項),其中包含人類可讀的檔案大小(-h選項): ls -lh ana.h 從左到右,ls提供的資訊是...
Linux上的chgrp命令更改檔案或目錄的組所有權。為什麼用它代替食物?有時瑞士**很不錯,但當你真的需要手術刀時,只有手術刀可以。 什麼時候應該使用chgrp 可以使用chgrp命令更改檔案或目錄的組所有權。chown命令允許您更改...
...積累成噸的檔案,成為一個混亂的發現任何東西。下面是如何組織你的驅動器,找到一切快,並確保它保持秩序。 將檔案組織到資料夾中 組織Google驅動器最簡單的方法之一是建立特定於類別的資料夾。例如,您可以為圖片、...