小编典典

递归复制文件夹,排除部分文件夹

all

我正在尝试编写一个简单的 bash 脚本,它将文件夹的全部内容(包括隐藏文件和文件夹)复制到另一个文件夹中,但我想排除某些特定文件夹。我怎么能做到这一点?


阅读 70

收藏
2022-06-21

共1个答案

小编典典

使用 rsync:

rsync -av --exclude='path1/to/exclude' --exclude='path2/to/exclude' source destination

请注意,使用sourcesource/是不同的。尾部斜杠表示将文件夹的内容复制sourcedestination.
没有尾部斜杠,这意味着将文件夹复制sourcedestination.

或者,如果您有很多要排除的目录(或文件),您可以使用--exclude-from=FILE,其中FILE是包含要排除的文件或目录的文件的名称。

--exclude还可能包含通配符,例如--exclude=*/.svn*

2022-06-21