作為一個計算機用戶,如果你必須定義一個快捷方式,你可能會說它是指向文件、文件夾或應用程序的指針,對嗎?沒錯。
但這個簡短的定義並不能說明全部。這意味著所有的捷徑都是相同的,而不是相同的。您幾乎有幾種快捷方式類型。我們將關注下面的符號鏈接。它也被稱為符號鏈接或軟鏈接,我們將互換使用這些術語。
讓我們看看什麼是符號鏈接,如何在Linux以及macOS和Windows上創建符號鏈接,為什麼需要這種特殊類型的快捷方式,等等。
符號鏈接確實是一個快捷方式文件。但是它不同於標準的快捷方式,比如說,程序安裝程序放在你的Windows桌面上使程序更容易運行。
當然,單擊任一類型的快捷方式都會打開鏈接的對象,但是在這兩種情況下,引擎蓋下的操作是不同的,我們將在下面看到。
當標準快捷方式指向某個對象時,符號鏈接使其看起來好像鏈接的對象確實在那裡。您的計算機及其應用程序將符號鏈接作為目標對象本身讀取。
在macOS上,當您嘗試在與原始對象相同的位置創建符號鏈接時,會出現一條“file exists”消息來證明這一點。即使在其他地方創建符號鏈接後嘗試將其移動到同一位置,也會將其重命名為副本。
假設您的硬盤上有一個特定的文件夾,您想與Dropbox同步,而不將文件夾本身移動到Dropbox。
在這種情況下,在Dropbox中創建文件夾的快捷方式是毫無意義的。快捷方式將在您創建它的設備上工作。Dropbox也會同步快捷方式。但是,當您從另一臺計算機訪問同步的快捷方式文件時,它是無效的,即,它不會指向任何地方。
現在,如果這個快捷方式是一個符號鏈接,你就不會面對這個問題。這是因為Dropbox將符號鏈接讀取為實際文件夾,並因此同步該文件夾中的數據。然後,您可以訪問啟用了Dropbox同步的所有設備上的文件夾及其內容,即使原始文件夾不是Dropbox的一部分。
請記住,無論是常規快捷方式還是符號鏈接,刪除它都不會以任何方式影響原始對象。
一般來說,如果您想:
您可能會遇到許多其他符號鏈接的用例。
可以使用終端或命令行創建軟鏈接。如果你不喜歡擺弄終端的話,我們稍後會直截了當地使用工具。
在Linux上,可以使用以下終端命令為文件或文件夾創建符號鏈接:
ln -s [/path/to/file] [/path/to/symlink]同樣的命令也適用於macOS,因為macOS是基於UNIX的操作系統,比如Linux。
有關示例命令,請參見上面的屏幕截圖。
某些Linux桌面環境中的本機文件管理器允許您通過右鍵單擊菜單創建軟鏈接,因此您可能需要檢查您的file explorer應用程序是否具有該選項。
流行的Nautilus文件管理器與各種Linux發行版捆綁在一起,它有一個Make Link菜單選項,現在已經消失了。但是您仍然可以在Nautilus中創建符號鏈接,方法是按住Ctrl和Shift鍵並將目標文件拖到希望符號鏈接顯示的位置。別擔心,原始文件會放在原處的。
您需要以管理員身份打開命令提示符窗口,並鍵入以下命令以創建符號鏈接:
mklink [/path/to/symlink] [/path/to/file]對於指向目錄的符號鏈接,必須使用/d標誌稍微調整命令:
mklink /d [/path/to/symlink] [/path/to/file]如果不想使用命令行,可以使用名為linkshell Extension的圖形工具來創建符號鏈接。它是用於文件管理的最佳Windows文件資源管理器擴展之一。
注意:系統不會阻止您在符號鏈接中創建符號鏈接,但最好避免這樣做。否則,您將創建一個無限循環,這可能會導致系統範圍內的服務(如防病毒掃描程序)出現問題。
如果你曾經在macOS上創建過別名,你會注意到它們的行為很像符號鏈接。兩種類型的快捷方式都引用鏈接文件或文件夾的路徑名。
不同之處在於,別名還使用名為inode(索引節點)的標識符標記鏈接對象。此標識符對於對象是唯一的,並在文件系統中跟隨它。
這就是為什麼即使將別名的目標移動到其他位置,別名也能正常工作的原因。用符號鏈接試試,你會遇到一個錯誤。(除非處理受系統保護的文件,否則可以毫無問題地移動別名和符號鏈接本身。)
當然,如果刪除原始文件或重命名層次結構中較高的任何文件夾,這兩種類型的快捷方式都將被證明是無用的。
無法區分別名和符號鏈接之間的區別,因為您已從別名的文件名中刪除了別名標記?
打開每個快捷方式的“文件檢查器”或“獲取信息”面板,查看“常規”部分下的文件大小。如果它說(磁盤上的字節數為零),那麼您正在處理一個符號鏈接。
使用此終端命令時,符號鏈接(在當前文件夾中)也會顯示自己:
ls -la這個命令在Linux上也可以運行,您將看到指向原始對象位置的符號鏈接。
符號鏈接一開始可能會讓人困惑,但如果你花時間去理解它們,你會發現它們畢竟很容易使用!
你甚至可以用Termux在Android上創建符號鏈接,Termux是一個允許你使用Linux命令行的應用程序。你知道你可以用符號鏈接更容易地共享Google驅動器文件嗎?
... 您可以使用符號連結(symlink)使檔案或資料夾看起來好像存在於其他位置。應用程式讀取並使用符號連結指向不同的目標位置。 ...
... shutil.copy([source directory path], [destination directory path], follow_symlinks=True) ...
... 編輯器命令實際上是一個符號連結(symlink)。你可能會問,有沒有nano的連結?不!命令/usr/bin/editor是指向/etc/alternatives/editor的連結。/etc/alternatives目錄是將系統中的所有備選方案作為符號連結進行管理的地...
...,可以簡化建立硬連結、連線或卷裝入點以及符號連結(symlinks)的過程,只需單擊幾下。找到檔案或資料夾,單擊滑鼠右鍵,然後從選單中選擇“拾取連結源”。 ...
受限的shell限制了使用者帳戶在Linux上可以做什麼。受限使用者不能更改其目錄,您可以控制他們可以訪問哪些命令。下面介紹如何在Linux上設定受限shell。 受限炮彈 受限shell不是另一個shell。這是標準外殼的另一種模式。Bash...
...何必要的事情來修復符號連結。 請注意,如果嘗試執行symlink,則得到的錯誤引用的是symlink名稱,而不是symlink指向的程式的名稱。 我們鍵入以下內容: ./hello 查詢斷開的符號連結 大多數find的現代版本都有xtype(擴充套件型別...
...工作的這些重要部分經常被誤解。讓我們看看他們到底是什麼,他們做了什麼。 檔案系統的元素 根據定義,檔案系統需要儲存檔案,而且它們還包含目錄。檔案儲存在目錄中,這些目錄可以有子目錄。在某個地方,必須記錄...
...。我們會教你怎麼使用它。 stat帶你到幕後 ls命令在做什麼方面做得很好,而且做得很多,但是對於Linux,似乎總有一種方法可以更深入地瞭解表面之下的內容。通常,這不僅僅是一個掀開地毯邊緣的例子。你可以把地板撕開,...