如何在没有根文件夹的情况下解压缩存档,但保留其中的完整层次结构?


25

如果我有.tar存档,并且在提取存档时,它会为我提供一个foo包含更多内容的文件夹,如下所示:

foo/
  something.txt
  another.txt
  bar/
    something-else.txt

有没有一种方法可以修改.tar命令以“跳过”根文件夹(foo在这种情况下),然后仅将该文件夹的所有内容直接提取到我的cwd中,如下所示:

something.txt
another.txt
bar/
  something-else.txt

Answers:


29

简单。--strip-components=1像这样在存档中使用:

tar -xf archive.tar --strip-components=1

并如官方tar手册页所述:

--strip-components = NUM​​BER

提取时从文件名中删除NUMBER个主要组件

与逻辑是如果一个路径由foo/something.txt则该路径的第一“部件”将是foo/这样--strip-components=1将有效地丢弃foo/从路径foo/something.txt

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.