私はrsyncとハードリンクを使ってバックアップシナリオを実装しています。私はrsyncでlink-destを使用してハードリンクを実行できることを知っていますが、rsyncで "link-dest"を実装する前に "cp -l"を使用することに注意してください。私が知っているもう一つのハードリンク方法は「ln」です。
だから私の質問は好奇心からのものです。 「ln」を使用する場合と比較してハードリンクを生成するために「cp -l」を使用することに違いはありますか?
ベストアンサー1
元のファイルへのハードリンクが作成されるため、両方の結果は同じでなければなりません。
違いは、目的と各コマンドで使用できるオプションにあります。たとえば、cp
再帰を使用できますが、ln
次は使用できません。
cp -lr <src> <target>
<target>
のすべてのファイルへのハードリンクを作成します<src>
。 (リンクではなく新しいディレクトリを作成します。)結果として、下のディレクトリツリー構造は<target>
下のディレクトリツリー構造と同じように見えます<src>
。cp -r <src> <target>
後者を使用すると、すべてのファイルとフォルダをコピーしてそれぞれに新しいファイルを提供しますが、前者inode
はファイルのハードリンクのみを使用するため、ファイルの数だけが増加するという点で異なりますLinks
。
あなたの例のように単一のファイルをコピーするために使用される場合、結果は同じです。