使用单个命令打开.tar.gz文件

47

当我下载一个 .tar.gz 文件时,我需要使用两个命令来打开它,首先是 gunzip,然后是 tar

是否可能只用一个命令来打开它?


7
我认为这更适合发布在Superuser或Serverfault。 - nmuntz
8个回答

87
tar xzf file.tar.gz

这些字母代表如下操作:

  • x - 解压文件
  • z - 对输入进行gunzip解压
  • f - 从文件中读取,而不是stdin

3
这是正确的。我唯一要补充的是,z 通常只适用于 GNU tar。根据我的经验,典型的 UNIX tar 不会有这个功能。 - Jon
1
如果你有file.tar,则运行命令tar xf file.tar - mrgloom
如果你正在处理一个非常大的.tgz文件,并且将其解压到相同的文件系统会导致磁盘空间不足错误,那么你可以添加--directory /existing/target/directory,其中/existing/target/directory是另一个具有足够空间的文件系统。如果目标文件系统无法处理特定的.tgz文件大小,这将非常方便。在这种情况下,根据@WiseTechi的答案(和其他答案)中提到的选项,添加v可能很有用,这样你就知道它实际上是否按预期工作。 - hlongmore

12

你可以使用带有 "z" 参数的 tar 命令

tar xvfz mytar.tar.gz

'v'参数是做什么用的? - Nathan Fellman
3
V代表"冗长模式",我喜欢看到我的命令正在执行什么操作。 - WiseTechi
3
事实上,对于提取x模式,您不必使用更新的tar命令指定z参数——它会自动检测(适用于GNU tar 1.20及以上版本)。 - u0b34a0f6ae

4
如果您没有GNU tar,仍然可以使用管道在一个步骤中打开文件(尽管从技术上讲仍需两个命令)。
zcat file.tar.gz |tar x

2

如何解压缩gz文件?

使用以下命令:gunzip 文件名.gz

gunzip file.gz

或者

gzip -d file.gz

如何提取tar.gz或.tgz文件?

拓展名为tar.gz或.tgz的文件是使用gzip压缩的tar文件。在Unix系统中,可以使用以下命令来提取它们:

gunzip < file.tar.gz | tar xvf -
gunzip < file.tgz | tar xvf -

如果您使用的是GNU tar(Linux系统),则可以直接使用z选项:

tar xvzf file.tar.gz
tar xvzf file.tgz

要了解更多,请参见Linux / UNIX命令打开.gz文件


2
唯一需要补充的是,z选项通常只适用于gnu tar。在我至少的经验中,典型的UNIX tar不会有这个选项。 - Jon Mar 16 at 16:19
在我的OS X v10.5(Leopard)上,z选项也很好用。
当涉及到记忆时,我认为很容易考虑你想要什么,而不仅仅是一些字母。
1. 如果您想创建一个归档文件,则c将是第一个选项,否则如果您想提取则x将是第一个选项。 2. 如果您想使用gzip / gunzip程序进行压缩/解压缩,则下一个选项应该是z以进行压缩。 (所有以.gz结尾的存档必须使用z选项进行解压缩) 3. 最后一个强制选项是f,表示文件。
然后您通常会得到这两个命令:
tar czf file.tar.gz / folder_to_archive / * tar xzf file.tar.gz

1
从tar压缩文件中解压单个文件
要从video.tar中提取名为video.mpeg的单个文件,请使用以下命令,如下面的示例所示。
# tar -xvf video.tar video.mpeg

video.mpeg

从tar.gz文件中提取单个文件
使用以下命令从websitecode.tar.gz存档文件中提取单个文件codefile.xml。
# tar -zxvf websitecode.tar.gz code.xml

code.xml

从tar.bz2文件中提取单个文件
使用以下命令从websitecode.tar.bz2中提取单个文件file.html。
# tar -jxvfwebsitecode.tar.bz2 home/website/file.html

/home/website/file.html

此外,您可以阅读此链接解释了Linux中所有有用的tar命令。该链接详细介绍了所有可用的tar命令。

0

现在如果需要,tar会自动解压缩。只需写入:

tar xf file.tar.gz

助记符:extract file


0
在Windows上,可以尝试使用tartool实用工具。
它是免费的,代码是开源的,并且使用了SharpZipLib库。
免责声明:我是这个实用工具的作者。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接