压缩文件时排除目录

压缩文件时排除目录

我有一个 bash 脚本,它可以执行以下操作:

zip -0 ../backup/backup.zip \
-r ./* \
-x \*CVS\* \
-x *Thumbs.db* \

它备份的目录是 SVN 存档(以前是 CVS)。我无法让它排除 .svn 及其内容。排除 .svn (递归地遍历整个树)的最干净的方法是什么?

答案1

zip -0 ../backup/backup.zip -r . -x "*CVS*" "*Thumbs.db*" "*.svn*"

-x还接受排除列表。

或者,使用排除项创建一个文件列表并将其添加到其中。
排除.lst:

*CVS*
*Thumbs.db*
*.svn*
exclude.lst

使用命令:

zip -0 ../backup/backup.zip -r . [email protected]

答案2

zip ../backup/backup.zip \
  -x '/CVS/*' -x '*/CVS/*' \
  -x '/.svn/*' -x '*/.svn/*' \
  -x '/Thumbs.db' -x '*/Thumbs.db' \
  -r .

请注意,您发布的排除模式不太正确,它们排除了其名称的任何文件或目录包含 CVS

相关内容