Directory

cp -a 無法複製目錄中的所有文件

  • August 23, 2019

我希望將僅包含這些文件的目錄中的所有文件(都是正常文件 - 該目錄內沒有目錄、符號連結等)複製到另一個預先存在的目錄。

這些文件具有非常常見的名稱,例如robots.txt並且不遵循任何特定模式。

我嘗試了一個類似的命令:

cp -a "$HOME"/a "$HOME"/b 

我知道這-a-d(保留模式、所有權和時間戳)的快捷方式組合,-R它可以命令遞歸複製;

如果複製是遞歸的,為什麼不復製文件以及解決方案是什麼?

場景:

  1. 目錄a存在但不存在`b``:
cp -a "$HOME"/a "$HOME"/b

將整個目錄複製a到新目錄b 2. 目錄ab存在:

cp -a "$HOME"/a "$HOME"/b

將複製目錄a 裡面的目錄b。因此,您將獲得一個"$HOME"/b/a目錄。 3. 目錄ab存在:

cp -a "$HOME"/a/* "$HOME"/b

將複製內部目錄的內容,但排除隱藏文件和目錄。雖然有些 shell 有一些選項可以包含它們,但最好的方法是:a b

cp -a ~/a/. ~/b/

這就是我理解你想要的。

引用自:https://unix.stackexchange.com/questions/536559