在Linux zip中,是否可能递归压缩一个文件夹,但排除指定的子路径?
例如,压缩'base_folder'及其所有子文件夹,但排除'base_folder/sub_folder'。
是否可以实现?如果是,如何实现?
zip -r base_folder.zip base_folder -x base_folder/sub_folder/\* base_folder/another_sub_folder/\*
(我已将您在评论中慷慨提供的改进信息纳入其中。)
更多信息请查看:man zip
您可以使用tar
命令,并使用--exclude
选项来排除不需要备份的文件或目录,然后使用-z
选项将输出的tar文件进行gzip压缩。
查找文件,排除文件夹,使用xargs将剩余的文件打包成tar或zip或其他格式:
find /in/your/dir | grep -v 'name_of_dir_to_be_excluded' | xargs tar jcvf nameOfArchive.tar.bz2