我已经在终端中创建了一个 tar 文件。假设我目前在目录 test7 中。我正在另一个目录 (test8) 内的文件的当前目录中创建一个 tar。
tar -czvf example.tgz ../test8/a/b
输出:
example.tgz
现在,我使用以下命令解压此文件:
tar -xzvf example.tgz
我得到了结果并生成了一个名为 test8 的目录。
$) cd test8
$) ls
-> a
$) cd a
$) ls
-> b
现在我可以进入目录 b 并查看我的文件。
我希望输出只是目录 a 并且 b 将出现在其中,即
我想要的解压后的输出应该是这个层次结构:a/b
但不是:test8/a/b
谁能帮我解决这个问题?
我已经浏览过 tar 的手册页,但无法从中获得太多帮助。
最佳答案
您可以在压缩时使用 -cflags。它在 tar 的手册页中提到。
-C, --directory=DIR
change to directory DIR
因此,您可以按如下方式使用它:
tar -czvf example.tgz -C ../test8 a/b
现在,如果您解压 example.tgz。它将具有 a/b 的层次结构。
希望对您有所帮助。
关于linux - 解压缩具有有限目录层次结构的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57391152/