当前位置: 首页>>技术问答>>正文


我需要什么命令来解压/提取.tar.gz文件?

, ,

问题描述

我从客户端收到一个巨大的.tar.gz文件,其中包含大约800 MB的图像文件(未压缩时)。我们托管公司的ftp速度非常慢,因此在本地提取所有文件并通过ftp发送它们是不实际的。我能够将.tar.gz文件ftp到我们的托管站点,但是当我进入我的目录并尝试使用unzip时,它给了我这个错误:

[esthers@clients locations]$ unzip community_images.tar.gz
Archive:  community_images.tar.gz
  End-of-central-directory signature not found.  Either this file is not a zipfile, or it constitutes one disk of a multi-part archive.  In the latter case the central directory and zipfile comment will be found on the last disk(s) of this archive.
note:  community_images.tar.gz may be a plain executable, not an archive
unzip:  cannot find zipfile directory in one of community_images.tar.gz or community_images.tar.gz.zip, and cannot find community_images.tar.gz.ZIP, period.

我需要使用什么命令来提取.tar.gz文件中的所有文件?

最佳解决思路

输入man tar获取更多信息,但是这个命令应该可以做到这一点:

tar -xvzf community_images.tar.gz

为了进一步解释,tar将所有文件收集到一个包community_images.tar中。 gzip程序应用了压缩,因此是gz扩展。所以这个命令做了几件事情:

  • f:这必须是命令的最后一个标记,并且tar文件必须紧跟在后面。它告诉tar压缩文件的名称和路径。

  • z:通知tar使用gzip解压缩存档

  • x:tar可以收集文件或提取它们。 x做后者。

  • v:让焦油说话很多。详细输出显示所有正在提取的文件。

次佳解决思路

如果你想把文件提取到特定的目的地,你可以添加-C /destination/path/

例:

tar xf community_images.tar.gz -C /home/emmys/Pictures/Community/

如果您考虑将焦油告知某个文件,您可以轻松记住它

extract,unzip,ubuntu

注意:确保您首先创建目录(mkdir ~/Pictures/Community)。

第三种解决思路

在某一时刻,tar已升级到auto-decompress。你现在需要的是:

tar xf community_images.tar.gz

同样的解释适用于:

  • f:这必须是命令的最后一个标记,并且tar文件必须紧跟在后面。它告诉tar压缩文件的名称和路径。

  • x:提取文件。

请注意缺少连字符的命令标志。这是因为大多数tar版本都允许gnu和bsd样式选项(简单地说,gnu需要连字符,bsd不需要)。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/26.html,未经允许,请勿转载。