我有一个包含许多子目录的目录。在其中一些子目录中,我有*.asc
扩展名的文件和一些*.xdr
文件。
我想创建一个SINGLE tarball / gzip文件来维护目录结构但排除所有带有*.xdr
扩展名的文件。
我怎样才能做到这一点?
我做了像find . -depth -name *.asc -exec gzip -r9 {} +
这样的东西,但这个gzips每个*.asc
文件单独,这不是我想要做的。
你需要使用--exclude
选项:
tar -zc -f test.tar.gz --exclude='*.xdr' *
gzip将始终单独处理文件。如果你想要一个捆绑的存档,你必须首先tar文件然后gzip结果,因此你最终会得到一个.tar.gz文件或.tgz。
为了更好地控制您正在做的事情,您可以首先使用您已发布的命令(使用-print而不是gzip命令)对文件进行find
并将它们放入文件中,然后使用此文件(= filelist.txt)指示tar存档的内容
tar -T filelist.txt -c -v -f myarchive.tar