如果我有一个.tar
档案,当我提取它时,它会给我一个foo
包含更多内容的文件夹,如下所示:
foo/
something.txt
another.txt
bar/
something-else.txt
有没有办法可以修改命令.tar
以“跳过”根文件夹(foo
在本例中)并将该文件夹的所有内容直接提取到我的 cwd 中,如下所示:
something.txt
another.txt
bar/
something-else.txt
答案1
--strip-components=1
很简单。只需像这样在档案上使用:
tar -xf archive.tar --strip-components=1
正如官方解释的那样tar
手册页:
--strip-components=NUMBER
提取时从文件名中删除 NUMBER 个前导组件
逻辑是,如果一条路径由组成,foo/something.txt
那么该路径的第一个“组成部分”将是,foo/
因此会有效地从路径中--strip-components=1
删除。foo/
foo/something.txt