解压缩具有有限目录层次结构的文件
Untarring a file with limited directory hierarchy
我在终端中创建了一个 tar 文件。假设我目前在目录 test7 中。我正在另一个目录 (test8) 内的文件的当前目录中创建一个 tar。
tar -czvf example.tgz ../test8/a/b
输出:
example.tgz
现在,我使用以下命令取消tar 这个文件:
tar -xzvf example.tgz
我得到了结果,并生成了一个名为 test8 的目录。
$) cd test8
$) ls
-> a
$) cd a
$) ls
-> b
现在我可以进入目录 b 并查看我的文件。
我希望输出仅是目录 a 并且其中 b 将存在,即
我想要的 untarring 之后的输出应该是这个层次结构:a/b
但不是:test8/a/b
谁能帮我解决这个问题?
我已经阅读了 tar 的手册页,但无法从中获得太多帮助。
您可以在 tar响铃时使用 -C 标志。 tar.
的手册页中提到了它
-C, --directory=DIR
change to directory DIR
因此,您可以按如下方式使用它:
tar -czvf example.tgz -C ../test8 a/b
现在,如果你取消tar example.tgz。它的层次结构为 a/b .
希望对您有所帮助。
我在终端中创建了一个 tar 文件。假设我目前在目录 test7 中。我正在另一个目录 (test8) 内的文件的当前目录中创建一个 tar。
tar -czvf example.tgz ../test8/a/b
输出:
example.tgz
现在,我使用以下命令取消tar 这个文件:
tar -xzvf example.tgz
我得到了结果,并生成了一个名为 test8 的目录。
$) cd test8
$) ls
-> a
$) cd a
$) ls
-> b
现在我可以进入目录 b 并查看我的文件。
我希望输出仅是目录 a 并且其中 b 将存在,即
我想要的 untarring 之后的输出应该是这个层次结构:a/b
但不是:test8/a/b
谁能帮我解决这个问题?
我已经阅读了 tar 的手册页,但无法从中获得太多帮助。
您可以在 tar响铃时使用 -C 标志。 tar.
的手册页中提到了它-C, --directory=DIR
change to directory DIR
因此,您可以按如下方式使用它:
tar -czvf example.tgz -C ../test8 a/b
现在,如果你取消tar example.tgz。它的层次结构为 a/b .
希望对您有所帮助。