cp --preserve=links
が何であるかを理解しようとしています 単独で使用した場合、私のテストでは、通常のファイルを正常にコピーし、シンボリックリンクを逆参照しているように見えますが、単一のファイルで使用した場合、cp-Lと同じ効果があるようです。
それは本当ですか、それとも私が見逃しているものがありますか?
承認された回答:
--preserve=links
オプションはシンボリックリンクではなく、ハードリンクを参照します。 cp
に質問します コピーされる2つ以上のファイル間の既存のハードリンクを保持します。
$ date > file1
$ ln file1 file2
$ ls -1i file1 file2
6034008 file1
6034008 file2
2つの元のファイルがハードリンクされており、iノード番号が6034008であることがわかります。
$ mkdir dir1
$ cp file1 file2 dir1
$ ls -1i dir1
total 8
6035093 file1
6038175 file2
これで、--preserve=links
がないことがわかります。 それらのコピーには2つの異なるiノード番号があります。2つの間にハードリンクはありません。
$ mkdir dir2
$ cp --preserve=links file1 file2 dir2
$ ls -1i dir2
total 8
6089617 file1
6089617 file2
これで、--preserve=links
でそれを確認できます。 、2つのコピーはまだハードリンクされていますが、iノード番号は6089617であり、元のファイルのiノード番号とは異なります(cp --link
とは異なります)。 やっただろう)。