使用tar解压时想排除多个文件夹和文件

Muh*_*mad 3 tar

我想从 tar 文件 (20G) 中提取并在还原过程中排除许多文件和文件夹。我知道如何排除一个或几个文件/文件夹,但我的列表中有数百个我想排除。不幸的是,它们是独一无二的,我也不能应用正则表达式。有没有办法可以将所有文件和文件夹名称放在我想排除的文件中,然后使用 tar.gz ?

tar xvfz mvs-2017-06-29-1753.tar.gz -C / *usr/MVS*  --exclude=/usr/MSV/GL
Run Code Online (Sandbox Code Playgroud)

您可以在上面看到,我可以排除一个文件夹 GL,但是如果我在命令行上指定所有其他文件和文件夹,它将不适合。我想将所有排除文件放在一个文本文件中,然后在命令参数中使用,以便 tar 可以从文件而不是命令行中读取,尤其是我想排除的文件。请提供一些方向。

小智 8

您应该使用--exclude-from=exclude.txt,其中 exclude.txt 是您要排除的文件/文件夹列表。简短的选项是-X,我建议您查看手册页: tar(1) 手册页

  • 完美的乔治,我的错误,就像一个魅力。非常感谢你,优秀的社区,拥有伟大、善良和乐于助人的专业人士。 (2认同)

Nas*_*ley 6

你说它不适合是什么意思?您只需为要排除的文件或目录添加其他排除选项:

tar xvfz mvs-2017-06-29-1753.tar.gz -C /usr/MVS --exclude=/usr/MSV/GL --exclude=/usr/directory2 --exclude=/usr/directory2/file1

等等等等。