复制文件不包括linux中的某些文件夹

时间:2011-11-23 10:02:29

标签: linux svn rsync

我想创建复制项目的脚本并将其zip存档。我想在所有子目录中排除名为.svn的所有文件夹。有什么建议吗?

3 个答案:

答案 0 :(得分:0)

您可以使用rsync执行此操作。虽然这是为了跨服务器同步目录,但它也可以用于在一台机器上复制目录。

rsync有一个--exclude选项可以按模式排除文件和目录。有关帮助和示例,请参阅http://www.samba.org/ftp/rsync/rsync.html

答案 1 :(得分:0)

我会使用rsync的FILTER RULES:

创建一个.rsync-filter文件(在原始目录中),包含例如

-.svn/

现在像升级副本一样运行rsync:

rsync -aFF origin/ destination/

答案 2 :(得分:0)

只需调用项目文件夹中的zip实用程序,并使用-r选项进行递归,再使用-x选项按模式排除文件/文件夹。

zip -r target-filename.zip source-folder -x \*exclude-pattern\*
在您的情况下,

exclude-pattern将是.svn

另见man zip