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

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

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

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

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

答案1

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

答案2

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

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

等等等等。

相关内容