可以用 tar 完成吗?我必须编写 bash 脚本吗?
答案1
tar -xzf foo.tar.gz -C bar/
将目录更改为 bar 后,将提取 gzip 压缩的 foo.tar.gz
答案2
从 tar 1.28 开始您可以使用--one-top-level
选项。
tar zxvf archive_name.tar.gz --one-top-level
这将提取archive_name.tar.gz
到名为 的目录archive_name
。
或者在 .bashrc 文件中创建一个 bash 函数,这样你就可以在任何地方使用它了。我将其命名为 tar2dir。
tar2dir() {
mkdir $(basename $1 .tar.gz)
tar xf $1 -C $(basename $1 .tar.gz)
}