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