101

我有两个目录,一个是空的。

第一个目录有许多带有隐藏文件的子目录。当我cp -r从第一个目录到第二个目录时,隐藏文件也会被复制。有什么办法可以逃脱它们吗?

4

3 回答 3

142

您可以使用rsync代替cp

rsync -av --exclude=".*" src dest

这不包括隐藏的文件和目录。如果您只想排除隐藏目录,请在模式中添加斜杠:

rsync -av --exclude=".*/" src dest
于 2012-07-19T08:54:52.520 回答
38

你可以做

cp -r SRC_DIR/* DEST_DIR

排除 SRC_DIR 级别中的所有 .files 和 .dirs,但它仍然会复制下一级子目录中的任何隐藏文件。

于 2012-07-19T08:51:50.503 回答
5

rsync有“-C”选项

http://rsync.samba.org/ftp/rsync/rsync.html

例子:

rsync -vazC  dir1 dir2
于 2012-07-19T09:10:47.540 回答