Cp
使用 cp -l 或 ln 進行硬連結有區別嗎?
我正在使用 rsync 和硬連結實施備份方案。我知道我可以使用帶有 rsync 的 link-dest 來執行硬連結,但是我看到在 rsync 中實現“link-dest”之前提到使用“cp -l”。我知道的另一種硬連結方法是“ln”。
所以我的問題是,出於好奇:與使用“ln”相比,使用“cp -l”進行硬連結有區別嗎?
兩者的結果必須相同,因為創建了指向原始文件的硬連結。
區別在於預期用途以及每個命令可用的選項。例如,
cp
可以使用遞歸,而ln
不能:cp -lr <src> <target>
<target>
將創建指向所有文件的硬連結<src>
。(它創建新目錄;而不是連結)結果將是目錄樹結構下<target>
看起來與下的相同<src>
。不同之處cp -r <src> <target>
在於,使用後者將複製每個文件和文件夾並為每個文件和文件夾賦予一個新inode
的,而前者僅在文件上使用硬連結,因此只會增加它們的Links
數量。當用於複製單個文件時,如您的範例所示,結果將是相同的。