我想从 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
等等等等。