网站搜索

如何使用一个命令下载并解压 Tar 文件


Tar磁带存档)是 Linux 中流行的文件存档格式。它可以与gzip(tar.gz)或bzip2(tar.bz2)一起使用进行压缩。它是最广泛使用的命令行实用程序,用于创建压缩存档文件(包、源代码、数据库等等),这些文件可以轻松地从机器传输到另一台机器或通过网络传输。

另请阅读:Linux 中的 18 个 Tar 命令示例

在本文中,我们将向您展示如何使用两个众所周知的命令行下载程序 - wget 或 cURL 下载 tar 存档,并使用一个命令提取它们。

如何使用 Wget 命令下载并解压文件

下面的示例展示了如何在当前目录中下载、解压最新的GeoLite2 Country数据库(由GeoIP Nginx模块使用)。

wget -c http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz -O - | tar -xz

wget 选项 -O 指定写入文档的文件,这里我们使用 -,这意味着它将写入标准输出并通过管道传输到 tar 和 tar 标志-x 允许提取存档文件,-z 解压缩由 gzip 创建的压缩存档文件。

要将 tar 文件提取到特定目录(在本例中为 /etc/nginx/),请使用 -C 标志,如下所示。

注意:如果将文件解压到需要root权限的特定目录,请使用sudo命令运行tar。

sudo wget -c http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz -O - | sudo tar -xz -C /etc/nginx/

或者,您可以使用以下命令,在这里,存档文件将在您解压之前下载到您的系统上。

sudo wget -c http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz && tar -xzf  GeoLite2-Country.tar.gz

要将压缩存档文件解压到特定目录,请使用以下命令。

sudo wget -c http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz && sudo tar -xzf  GeoLite2-Country.tar.gz -C /etc/nginx/

如何使用 cURL 命令下载并解压文件

考虑前面的示例,这就是如何使用 cURL 在当前工作目录中下载和解压存档。

sudo curl http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz | tar -xz 

要在下载时将文件解压到不同的目录,请使用以下命令。

sudo curl http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz | sudo tar -xz  -C /etc/nginx/
OR
sudo curl http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz && sudo tar -xzf GeoLite2-Country.tar.gz -C /etc/nginx/

就这样!在这篇简短但有用的指南中,我们向您展示了如何通过一个命令下载和提取存档文件。如果您有任何疑问,请使用下面的评论部分与我们联系。