不含符號連結的 Unix 複製 (cp)

不含符號連結的 Unix 複製 (cp)

我想複製我的文件,但將符號連結轉換為硬連結(即實際文件)。我怎樣才能做到這一點?

這是我的程式碼(不起作用):

cp -RL ${FROM_DIR} ${TO_DIR}

注意:這是為了 Xcode 目的 - 建置中不允許使用符號連結。

謝謝!

編輯:

問題是我首先刪除文件的方式 - 它沒有刪除現有的符號連結。

rm -RLf "${FROM_DIR}/*"

答案1

不確定 UNIX 的cp實現,但 GNUcp預設不保留符號連結。硬連結與文件不同。預設 cp 從符號連結建立檔案/目錄。可能您不需要 -L 選項來實現您的目的。如果你確實需要這個,你可以使用 --no-preserve=links 選項。

參考man cp

   --preserve[=ATTR_LIST]
          preserve the specified attributes (default: mode,ownership,timestamps), if possible additional attributes: context, links, xattr, all

   --no-preserve=ATTR_LIST
          don't preserve the specified attributes

相關內容