Symlink
關於 cp –preserve=links 的資訊
我試圖了解
cp --preserve=links
單獨使用時會發生什麼,從我的測試來看,它似乎可以正常複製普通文件並取消引用符號連結,但在單個文件上使用時,它似乎與 cp -L 具有相同的效果。這是真的還是我錯過了什麼?
該
--preserve=links
選項不是指符號連結,而是指硬連結。它要求cp
保留正在複製的兩個或多個文件之間的任何現有硬連結。$ date > file1 $ ln file1 file2 $ ls -1i file1 file2 6034008 file1 6034008 file2
可以看到兩個原始文件是硬連結的,它們的inode號是6034008。
$ mkdir dir1 $ cp file1 file2 dir1 $ ls -1i dir1 total 8 6035093 file1 6038175 file2
您現在可以看到,沒有
--preserve=links
它們的副本有兩個不同的 inode 編號:兩者之間不再有硬連結。$ mkdir dir2 $ cp --preserve=links file1 file2 dir2 $ ls -1i dir2 total 8 6089617 file1 6089617 file2
您現在可以看到,使用
--preserve=links
,兩個副本仍然是硬連結的,但它們的 inode 編號是 6089617,這與原始文件的 inode 編號不同(與cp --link
之前所做的相反)。