tar/gzip excluding certain files
我有一个有很多子目录的目录。在这些子目录中,我有一些扩展名为*.asc的文件,有些扩展名为*.xdr的文件。
我想创建一个单独的tarball/gzip文件,它维护目录结构,但不包括扩展名为*.xdr的所有文件。
我该怎么做?
我做了类似于find . -depth -name *.asc -exec gzip -r9 {} +的事情,但是这个gzip每个*.asc文件都是单独的,这不是我想做的。
您需要使用--exclude选项:
tar -zc -f test.tar.gz --exclude='*.xdr' *
- 多个文件的语法是什么?我尝试了.xdr,.pdf,但失败了
- 我是通过添加——再次排除来实现的。--exclude='*.pdf' --exclude='*.mp4'
gzip总是单独处理文件。如果您想要一个捆绑的归档文件,您必须先对文件进行tar,然后对结果进行gzip,因此您最终将得到一个.tar.gz文件或.tgz文件。
为了更好地控制您正在做的事情,您可以首先使用您已经发布的命令(使用-print而不是gzip命令)来find文件,并将它们放入一个文件中,然后使用该文件(=filelist.txt)来指示tar如何存档。
1
| tar -T filelist.txt -c -v -f myarchive.tar |
- 那很好。我怎么用焦油做?
- 好吧,你可以看看man tar!?
- 我想类似这样的东西会有用:tar-cf src.tar--exclude='*.xdr'src