Bash

如何複製一些但不是所有文件?

  • December 13, 2020

因此,在目錄上下文中使用時,您可以將*用作所有文件的萬用字元。cp有沒有辦法複製文件以外的所有x文件?

bash你可以使用extglob

$ shopt -s extglob  # to enable extglob
$ cp !(b*) new_dir/

其中!(b*)排除所有b*文件。

您可以稍後extglob禁用

$ shopt -u extglob

Rsync 很好地處理了這個問題。

範例全部複製:rsync -aP /folder1/* /folder/2

範例全部複製並排除:rsync -aP --exclude=x /folder1/* /folder2/

-aP開關:

  • a: 類似於cp -a, 遞歸等。
  • P: 顯示進度,rsync 的一個不錯的功能。

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