如何在 Linux 上建立指向目錄的軟連結?


軟連結(符號連結)被生成作為系統中可用檔案或資料夾的快捷方式。通常,這些軟連結用於連結庫。軟連結允許在不同的檔案系統或目標位置儲存同一文件的多個克隆。

此連結引用原始文件的路徑和地址。軟連結包含不同的方面,例如 -

  • 軟連結可以連結到目錄和普通檔案。

  • 刪除軟連結後,原始文件仍然可用。

  • 當您移動或刪除原始檔案時,符號連結不起作用。

  • 軟連結通常用於常用檔案,因此您可以快速訪問這些檔案,而無需鍵入整個位置。

  • 軟檔案和實際連結檔案的 inode 號碼不同。

軟連結的功能類似於網路上的超連結。如果您還想在 Linux 上建立指向目錄的軟連結,請遵循本指南。

如何在 Linux 上建立指向目錄的軟連結?

“ln”是一個命令列實用程式,用於在檔案或資料夾之間建立連結。預設情況下,它建立硬連結。使用 ln 命令的 -s 或 --symbolic 選項,您可以在 Linux 上建立指向目錄的軟連結。以下是您可以遵循的 ln 命令的基本語法 -

ln -s <source file/directory name> <target directory/file name> <soft_link name>
Or
ln --symbolic <source directory name> <target directory/file name> <soft_link name>

例如,讓我們透過 ln 命令將“Documents”與“Link”目錄連結 -

~$: ln -s Documents Link

如果您想驗證軟連結,請轉到檔案管理器並檢查可用的連結檔案 -

Figure 1

在成功建立指向目錄的軟連結後,上述命令不會產生任何輸出。因此,您可以使用以下命令驗證新建立的軟連結 -

ls -l <targeted soft_link directory/file name> <soft_link name>

讓我們使用一些示例來更好地理解軟連結的建立。

~$: ls -l Documents Link
lrwxrwxrwx 1 prateek prateek 9 Feb 21 12:22 Link -> Documents
Documents: total 24 
-rw-rw-r-- 1 prateek prateek     0 Feb 20 16:10 bash.sh
-rw-rw-r-- 1 prateek prateek     0 Feb 20 16:11 file.txt 
drwxrwxr-x 2 prateek prateek  4096 Feb 20 16:28 'Images'
drwxrwxr-x 2 prateek prateek 20480 Feb 20 16:28 'Information'

為檔案建立指向同名目錄的軟連結

這裡我們在 Documents 目錄中有一個檔案 'example.txt',並將此檔案連結到 Downloads 目錄 -

~$:ln -s /home/prateek/Documents/example.txt Downloads

要驗證軟連結,請執行以下命令 -

~$:ls -l Downloads/example.txt
lrwxrwxrwx 1 prateek prateek 35 Feb 21 13:01 Downloads/example.txt -> /home/prateek Documents example.txt

額外提示 - 在上面的命令中,我們使用了絕對路徑,這很容易且推薦。但是,您必須正確地澄清路徑。為此,您可以執行以下命令以使軟連結目錄成為終端的當前目錄 -

~$: cd ~/Downloads
~$: ln -s /home/prateek/Documents/example.txt

為檔案建立指向不同名稱目錄的軟連結

在此示例中,我們將在 Downloads 目錄中建立指向 Documents 目錄的軟連結,命名為 Documents1。在這裡,我們將遵循上述命令,然後提及您要建立連結的名稱。它的命令將類似於這樣 -

~$: ln -s /home/prateek/Documents Downloads/Documents1
~$: ls -l Downloads/Documents1
~$: lrwxrwxrwx 1 prateek prateek 23 Feb 21 13:21 Downloads/Documents1 -> /home/prateek Documents

這樣,您可以為檔案建立指向具有不同連結名稱的目錄的軟連結檔案。

軟連結的許可權

當我們更改軟連結的許可權時,它會透過 chmod 命令的幫助轉發到目標目錄或檔案。發生這種情況是因為 chmod 命令將許可權更改應用於目標目錄,無論更改是否成功。因此,

  • 所有軟連結始終允許為 0777/lrwxrwxrwx。

  • 軟連結許可權永遠無法更改。

覆蓋軟連結

當建立已存在的軟連結時,ln 命令會列印錯誤訊息(無法建立軟連結)。

使用 ln 命令的 -f 或 --force 選項,您可以覆蓋軟連結的目標路徑並解決此錯誤。

ln -sf <path of the source file/directory> <path of the target file/directory>

注意 - 在更新版本的 Linux 下對原始檔案進行的更改將自動更新或覆蓋軟連結。

查詢所有軟連結

您可以使用以下 find 命令檢視任何資料夾和檔案中存在的所有軟連結 -

~$: find <path of the file/directory> -type l

例如,讓我們找出 Downloads 目錄的所有軟連結 -

~$: find Downloads -type l
/home/prateek/Downloads/example.txt
/home/prateek/Downloads/Documents1

查詢損壞的連結

如果您將檔案從一個目錄移動或刪除到另一個目錄,則軟連結將自動斷開。由於連結沒有內容,因此每次嘗試訪問該檔案都會導致“沒有此檔案或目錄”。您可以再次使用以下 find 命令來發現這些損壞的連結。

~$: find <path of the file/directory> -xtype l

因此,此命令將顯示目錄或檔案中所有損壞的軟連結。您可以透過向上述命令新增 -刪除選項來一次刪除所有損壞的連結。

刪除軟連結

軟連結也像普通檔案一樣,您可以使用 rm 命令刪除它們。除此之外,Linux 還提供了一個名為 unlink 的單獨實用程式來刪除軟連結,您可以使用它來刪除軟連結。

您不需要任何引數即可使用 unlink 命令刪除軟連結。請按照以下命令刪除軟連結 -

~$: unlink <path of the soft link>

在這裡,我們將使用 Downloads 目錄取消連結 example.txt 檔案 -

~$: unlink /home/prateek/Documents/example.txt

此外,您還可以使用 rm 命令刪除軟連結。與 unlink 命令相比,rm 命令的優勢在於您可以一次刪除多個軟連結 -

~$: rm <path of the file/directory> soft link1 softlink2

結論

使用軟連結,您可以從多個位置訪問任何檔案或目錄。使用 ln 命令的 -s 選項,您可以在 Linux 中建立軟連結或符號連結。在這裡,我們描述了建立指向目錄的軟連結的完整過程。此外,我們還解釋了刪除、定位和刪除這些連結的方法。

更新於: 2023年8月22日

3K+ 閱讀量

開啟您的 職業生涯

透過完成課程獲得認證

立即開始
廣告
© . All rights reserved.