cp命令用于排除某些文件被复制

Modified on: Sat, 09 Jun 2018 08:36:53 +0800

有没有办法使用命令'cp'复制目录并排除其中的某些文件/子目录?

最佳答案

使用rsync

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

请注意,使用sourcesource/是不同的。尾部斜杠表示将文件夹source的内容复制到destination中。如果没有尾部斜杠,则表示将文件夹源复制到destination

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

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

已复制自: https://stackoverflow.com/a/2194500/749232

如果您想使用cp本身:

find . -type f -not -iname '*/not-from-here/*' -exec cp '{}' '/dest/{}' ';'

这假定目标目录结构与源的结构相同。

已复制自: https://stackoverflow.com/a/4586025/749232

作者:Community,saji89

相关问答

添加新评论