如何直接提取 .tar.bz2?(避免创建文件夹)

如何直接提取 .tar.bz2?(避免创建文件夹)

我总是在我想要这些文件的路线上使用以下方法提取此类文件:

# tar -xvf file.tar.bz2 

但它总是创建一个folder名为“文件”(对于此示例)并将所有内容存储在其中。

我从来没有遇到过这样的问题,但现在我需要避开该文件夹并简单地将我想要的所有内容提取到路线中。

我一直在阅读man tar(手册)..但我仍然找不到造成这种情况的特定属性。

我怎样才能做到这一点? (All in terminal

答案1

tar 不会创建名为文件; 文件夹文件存储在 tarball 中。这是因为 tarball 是使用以下命令创建的

tar cf foo.tar.bz2 foo

而不是

cd foo
tar cf foo.tar.bz2 .

根据曼塔尔,您可以使用开关--strip-components--strip-path在旧版本中)来覆盖此功能。

要删除单个前导文件夹,请使用以下命令:

tar xvf file.tar.bz2 --strip-components 1

相关内容