在Linux中使用硬鏈接來鏈接文件

有兩種類型的鏈接可以在Linux中創建:

符號鏈接非常像Windows中的桌面快捷方式。 符號鏈接僅指向文件的位置。

刪除符號鏈接對鏈接指向的物理文件沒有影響。

符號鏈接可以指向當前文件系統上的任何文件或者其他文件系統。 這使得它比硬鏈接更加靈活。

硬鏈接實際上是它鏈接到的文件,但名稱不同。 考慮它的最簡單方法如下:

想像一下你出生時的名字是羅伯特。 其他人可能會認識你為羅比,鮑勃,鮑比或羅布。 每個人都會談論同一個人。

每個鏈接將1添加到鏈接的計數器,這意味著要刪除物理文件,您必須刪除每個鏈接。

為什麼使用硬鏈接?

硬鏈接提供了一種組織文件的有效方法。 描述這個最簡單的方法是在芝麻街的一個老集。

伯特告訴厄尼收拾他所有的東西,厄尼開始了他的任務。 首先,他決定收拾所有紅色的東西。 “消防車是紅色的”。 所以厄尼把消防車帶走了。

接下來,厄尼決定收起所有帶輪子的玩具。 消防車有輪子。 於是厄尼收拾了消防車。

毋庸置疑,伯特回家後發現與之前一模一樣的混亂,但厄尼已經把消防車收拾了六次。

想像一下消防車只是消防車的照片。 您可以在機器上擁有不同的文件夾,如下所示:

現在您可以創建照片副本並將其放置在每個文件夾中。 這意味著您有三份相同的文件佔用了三倍的空間。

通過複製照片來對照片進行分類可能不佔用太多空間,但如果您對視頻嘗試相同的操作,則會顯著減少磁盤空間。

硬鏈接根本不佔用空間。 因此,您可以在不減少磁盤空間的情況下以各種不同的類別(即年份,流派,演員,導演)存儲相同的視頻。

如何創建硬鏈接

您可以使用以下語法創建硬鏈接:

ln path / to / file / path / to / hard / link

例如,在上面的圖片中,我們在路徑/ home / gary / Music / Alice Cooper / Trash中有一個名為Trash的Alice Cooper音樂文件夾。 在該文件夾中,有10首歌曲是經典毒藥之一。

Now Poison是一首搖滾曲目,因此我們在音樂文件夾下創建了一個名為Rock的文件夾,並通過輸入以下文件創建了一個與Poison的硬鏈接:

ln“01 - Poison.mp3”“〜/ Music / rock / Poison.mp3”

這是組織音樂的好方法。

如何區分硬鏈接和符號鏈接的區別

你可以通過使用ls命令來判斷文件是否有硬鏈接:

ls -lt

沒有鏈接的標准文件如下所示

-rw-r - r-- 1 gary gary 1000 Dec 18 21:52 poison.mp3

專欄如下:

如果這是一個硬鏈接,輸出結果如下所示:

-rw-r - r-- 2 gary gary 1000 Dec 18 21:52 poison.mp3

請注意,鏈接數列顯示2.每次創建硬鏈接時,該數字都會增加。

符號鏈接如下所示:

-rw-r - r-- 1 gary gary 1000 Dec 18 21:52 poison.mp3 - > poison.mp3

您可以清楚地看到一個文件指向另一個文件。

如何查找文件的所有硬鏈接

Linux系統中的所有文件都包含一個唯一標識該文件的inode編號。 文件及其硬鏈接將包含相同的inode。

要查看文件的inode編號,請鍵入以下命令:

ls -i

單個文件的輸出如下所示:

1234567文件名

找到文件的硬鏈接,您只需要使用相同的inode(即1234567)對所有文件執行文件搜索。

你可以用下面的命令來做到這一點:

找到〜/ -xdev -inum 1234567