我想从 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) 手册页
你说它不适合是什么意思?您只需为要排除的文件或目录添加其他排除选项:
tar xvfz mvs-2017-06-29-1753.tar.gz -C /usr/MVS --exclude=/usr/MSV/GL --exclude=/usr/directory2 --exclude=/usr/directory2/file1
等等等等。