Linux 中的 Wget 命令与示例

GNU Wget 是一个免费的命令行实用程序,用于从 Web 下载文件。 它支持标准的 Web 协议,如 HTTP、HTTPS 和 FTP,以及通过 HTTP 代理检索数据。 Wget 是一个非交互式命令,这意味着不需要用户登录并且可以在后台运行。

Wget 遵循 HTML 和 CSS 页面中的链接并递归工作。 这使得克隆远程网站并在本地机器上运行变得很聪明。 这有时被称为“递归下载”。

如何安装 Wget

通常,Wget 包预装在 Linux 发行版上。 但是在某些最小安装的情况下,它可能不会安装。

打开终端并执行以下命令以从默认包管理器安装或升级 Wget 包。

  • 在 Ubuntu、Debian 和 Linux Mint 系统上
    sudo apt update && apt install wget -y  
  • 在 CentOS、RHEL 和 Fedora 系统
    sudo dnf install wget -y 

Wget 命令语法

一个简单的 Wget 命令遵循以下语法。

wget [option]... [URL]... 

大量的命令行选项使其更易于使用。 Wget 使用 GNU getopt 来处理命令行参数,这意味着所有选项都有一个长格式和一个短格式。

Wget 需要一个指向存档、IOS 或网页的 URL 才能下载。

Wget 命令示例

下面是一些常用的 wget 命令和示例。

1.使用Wget下载文件

打开终端并键入 wget 后跟远程文件 URL 以在本地计算机上下载。 下载文件不需要额外的参数。

wget https://wordpress.org/latest.zip  

上述命令将下载当前工作目录中的文件。 本地系统中的文件名将与远程机器上的文件名相同。

使用 Wget 下载文件

2. 使用新名称下载文件

默认 wget 下载本地系统上的同名文件。 用 -O (大写 O)命令行选项后跟一个新名称以在本地系统上写入文件。

wget -O local.zip https://wordpress.org/latest.zip  

请参阅下面的屏幕截图,显示使用新名称创建的本地文件。

Wget – 创建不同名称的文件

3.使用恢复选项下载大文件

Wget 允许我们继续下载部分下载的文件。 从远程下载大文件很有帮助。 在任何情况下,下载中断,可以恢复只下载剩余内容而不是完整下载。

-c 或者 --continue 与文件切换。

wget -c //mirrors.edge.kernel.org/linuxmint/stable/20.1/linuxmint-20.1-cinnamon-64bit.isop  

请参阅以下示例,使用 -c 选项下载大文件。 在第一次尝试中,一旦下载开始,用 CTRL+C 终止下载过程。 现在再次执行相同的命令,您可以看到下载恢复。

wget简历下载

4.wget 执行远程脚本,无需创建本地文件

Wget 还广泛用于通过 crontab 等计划作业执行远程脚本。 但是我们发现它每次在主目录下运行都会创建一个新文件。 我们可以指示 wget 将所有内容重定向到 /dev/null 并忽略创建文件。

wget -q -O /dev/null https://google.com  

这里 -q 将抑制屏幕上的所有输出和 -O 将所有内容重定向到 /dev/null 文件。

5. 如何在 Wget 中镜像网站

Wget 允许我们递归下载网站内容。 它遵循 HTML 内容中可用的内部链接。 用 --recursive 带有 wget 命令的选项可在本地系统中下载整个站点。

wget --recursive https://google.com  

您还可以设置递归的最大深度 -l 选项。

wget --recursive -l 2 https://google.com  

上面的命令会在当前目录中创建一个与域同名的目录,并将所有文件放在它下面。

6. 如何使用用户和密码授权请求

远程 FTP 服务器上的大多数文件都通过身份验证进行保护。 在某些情况下,可以通过身份验证保护 HTTP 上的内容。 Wget 允许我们通过此请求传递身份验证详细信息。

wget --user=USER --password=PASS https://example.com/backup.zip  

您可以使用 --user--password 用于 FTP 和 HTTP 身份验证。

结论

在本教程中,您通过示例了解了 Linux wget 命令。