百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Linux中的Wget命令及其示例(linux系统wget)

nanshan 2024-10-07 11:07 24 浏览 0 评论


Wget是一个用于从网络下载文件的命令行实用程序。使用Wget,您可以使用HTTP、HTTPS和FTP协议下载文件。Wget提供了许多选项,允许您下载多个文件、恢复下载、限制带宽、递归下载、后台下载、镜像网站等等。本文通过实际示例和对最常见选项的详细解释,展示了如何使用wget命令。

  1. 安装Wget

目前,wget软件包已预装在大多数Linux发行版上。要检查系统上是否安装了wget软件包,请打开控制台,键入wget,然后按enter键。如果安装了wget,系统将打印wget:wget: missing URL。否则,它将打印未找到的wget命令。如果没有安装wget,您可以使用发行版的软件包管理器轻松安装它。

在Ubuntu和Debian上安装Wget:

sudo apt install wget

在CentOS和Fedora上安装Wget:

sudo yum install wget

  1. Wget命令语法

在介绍如何使用wget命令之前,让我们先回顾一下基本语法。wget实用程序表达式采用以下形式:

wget [options] [url]
options - Wget选项
url - 要下载或同步的文件或目录的URL。
  1. 如何使用wget下载文件

在最简单的形式中,当在没有任何选项的情况下使用时,wget会将[url]中指定的资源下载到当前目录。在以下示例中,我们正在下载Linux内核tar归档文件:

wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.17.2.tar.xz

从上图中可以看到,wget首先解析域的IP地址,然后连接到远程服务器并开始传输。在下载过程中,wget会显示进度条以及文件名、文件大小、下载速度和完成下载的估计时间。下载完成后,您可以在当前工作目录中找到下载的文件。

要关闭输出,请使用-q选项。如果文件已经存在,wget将在文件名的末尾添加.N(数字)。

  1. 以不同名称保存下载的文件

要将下载的文件保存为其他名称,请传递-O选项,后跟所选名称:

wget -O latest-hugo.zip https://github.com/gohugoio/hugo/archive/master.zip

上面的命令会将GitHub中最新的hugo zip文件保存为latest-hugo.zip,而不是其原始名称。

  1. 将文件下载到特定目录

默认情况下,wget会将下载的文件保存在当前工作目录中。要将文件保存到特定位置,请使用-P选项:

wget -P /mnt/iso http://mirrors.mit.edu/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1804.iso

上面的命令告诉wget将CentOS 7 iso文件保存到/mnt/iso目录。

  1. 限制下载速度

要限制下载速度,请使用--limit rate选项。默认情况下,速度以字节/秒为单位。附加k表示千字节,附加m表示兆字节,附加g表示千兆字节。以下命令将下载Go二进制文件,并将下载速度限制在1MB:

wget --limit-rate=1m https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz

当您不希望wget消耗所有可用带宽时,此选项非常有用。

  1. 继续下载

您可以使用-c选项继续下载。如果在下载大文件的过程中连接中断,并且您可以继续上一次下载,而不是从头开始下载,这将非常有用。在以下示例中,我们将恢复Ubuntu 18.04 iso文件的下载:

wget -c http://releases.ubuntu.com/18.04/ubuntu-18.04-live-server-amd64.iso

如果远程服务器不支持恢复下载,wget将从头开始下载并覆盖现有文件。

  1. 后台下载

要在后台下载,请使用-b选项。在以下示例中,我们正在后台下载OpenSuse iso文件:

wget -b https://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso

默认情况下,输出会重定向到当前目录中的wget日志文件。要查看下载的状态,请使用tail命令:

tail -f wget-log
  1. 更改Wget用户代理

有时在下载文件时,远程服务器可能会被设置为阻止Wget用户代理。在这种情况下,要模拟不同的浏览器,请传递-U选项。

wget --user-agent="Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0" http://wget-forbidden.com/

上面的命令将模拟Firefox 60从wget-forbidden.com请求页面

  1. 下载多个文件

如果您想同时下载多个文件,请使用-i选项,后跟本地或外部文件的路径,该文件包含要下载的URL列表。每个URL都需要在一个单独的行上。以下示例显示了如何使用Linux-distros.txt文件中指定的URL下载Arch Linux、Debian和Fedora iso文件:

wget -i linux-distros.txt
http://mirrors.edge.kernel.org/archlinux/iso/2018.06.01/archlinux-2018.06.01-x86_64.iso
https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-9.4.0-amd64-netinst.iso
https://download.fedoraproject.org/pub/fedora/linux/releases/28/Server/x86_64/iso/Fedora-Server-dvd-x86_64-28-1.1.iso

如果指定-作为文件名,则URL将从标准输入中读取。

  1. 通过FTP下载

要从受密码保护的FTP服务器下载文件,请指定用户名和密码,如下所示:

wget --ftp-user=FTP_USERNAME --ftp-password=FTP_PASSWORD ftp://ftp.example.com/filename.tar.gz
  1. 创建网站镜像

要使用wget创建网站的镜像,请使用-m选项。这将通过关注和下载所有内部链接以及网站资源(JavaScript、CSS、Images)来创建网站的完整本地副本。

wget -m https://example.com

如果你想使用下载的网站进行本地浏览,你需要向上面的命令传递一些额外的参数。

wget -m -k -p https://example.com

-k选项将使wget转换下载文档中的链接,使其适合本地查看。-p选项将告诉wget下载显示HTML页面所需的所有文件。

  1. 正在跳过证书检查

如果要通过HTTPS从具有无效SSL证书的主机下载文件,请使用--no check certificate选项:

wget --no-check-certificate https://domain-with-invalid-ss.com
  1. 下载到标准输出

在下面的例子中,wget将悄悄地(flag-q)下载并输出最新的WordPress版本到stdout(flag-O-),并将其传输到tar实用程序,后者将把存档提取到/var/www目录。

wget -q -O - "http://wordpress.org/latest.tar.gz" | tar -xzf - -C /var/www

相关推荐

MongoDB 从入门到实战:.NET 平台完整指南

一、什么是MongoDBMongoDB是一种功能强大且灵活的NoSQL数据库,适用于处理大规模的半结构化数据和高并发场景。它不依赖于固定的表结构和关系模型,而是以文档的形式存储数据,每个文档可...

NET Framework安装失败的原因及解决方法

大家好我是艾西,一个做服务器租用的游戏爱好者兼网络架构系统环境问题网络工具人。在我们平时使用PC安装某些程序会出现.NETFramework缺失的提示,那么也会有很多的小伙伴搞不懂什么原因导致的,这...

这可是全网eNSP安装最完整,最详细的图解,没有之一(常见问题)

eNSP安装大纲eNSP安装详细图解篇幅较长,会分三篇更完。急需安装的朋友可以在文末获取图解文档和所需软件工具。ENSP安装常见问题和解决方案Vbox安装错误eNSP在安装的过程当中,经常会出现一...

如何在windows 2012安装.NET Framework3.5

Windowsserver2012R2,自带的是.NETFramework4.5,如果想装SQLserver2008或者SQLserver2012需要安装.ENTFramework...

3款国内可用的「Chrome」扩展下载网站

身为程序员,有几个不使用Chrome浏览器提升下编码效率呢?Chrome拥有众多丰富强大的扩展程序,今天给大家分享三个国内可用的Chrome扩展下载网站,收藏一下吧,不然下次就找不到我咯!C...

下载 Windows 10 应用商店程序离线包方法

有厂商为了图方便,会把Windows10应用商店里面的UMP应用改成EXE程序版本。例如之前「网易云音乐」UMP版本简洁清爽,获得不少用户推荐,后来官方懒得更新了,直接把UMP版本...

极速安装!NET Framework 3.5零距离指南!

.NETFramework3.5是一款由微软开发的应用程序框架,它为许多Windows应用程序提供了基础支持。它的新版本带来了许多令人兴奋的功能和改进,比如增强的XML和JSON处理能力以及强大的...

Microsoft.NET离线运行库合集发布 2021

软件介绍.NET是微软具有战略意义的框架,也是装机必不可少的框架,想要一个一个安装略显繁琐,再加上很多电脑小白不知道怎么下载,不小心就下载到某某高速加载器,这个运行库极大解决了这个问题,采用微软官方....

缺少.net framework 3.5怎么办?(缺少.net4.5.1或以上环境)

很多电脑用户在玩某些程序游戏时都会遇到一个头痛的问题,弹出缺少“NETFramework3.5”的提示。微软从Windows8开始默认屏蔽了“.NET3.5”,如果用户有需要就必须选择在线安装...

Windows11无法正常安装.net 3.5组件的解决方法

最近因公司部分电脑升级至Windows11之后,重新安装某些需要加载.net3.5组件的应用软件时,都提示无法完成加载或安装.net3.5而导致无法完成安装。使用离线安装包亦一样无法完成安装。一...

离线安装.Net Framework 3.5(离线安装.net framework 4.0)

前言.Net3.5已经越来越少用到了,但是偶尔还是会遇到一些老软件需要。而Win10、Win11的系统,直接在控制面板的里添加,经常会添加失败!解决方法首先需要一个系统的ISO镜像来提取sxs文件夹:...

Jenkins 11个使用技巧,90%以上的人没用过

一、Performance插件兼容性问题自由风格项目中,有使用Performance插件收集构建产物,但是截至到目前最新版本(Jenkinsv2.298,Performance:v3.19),此...

6款Linux常用远程连接工具,你最中意哪一款?

点击上方头像关注我,每周上午09:00准时推送,每月不定期赠送技术书籍。本文2106字,阅读约需6分钟Hi,大家好。远程连接的实现方法有很多,概括地说有两种,一种是用系统自带的远程连接,另外一种是用...

Linux常用远程连接工具介绍,总有一款适合你

作为运维或者网工最常用就是ssh远程和远程桌面工具,本文就介绍几个常用的远程连接工具,你在用哪一款呢SecureCRT介绍:我觉得这个是最好的SSH工具,没有之一。SecureCRT支持SSH,同时支...

终极软路由网络设置,ESXi虚拟机安装iKuai+openWrt双路由系统

本内容来源于@什么值得买APP,观点仅代表作者本人|作者:BigBubbleGum本文是软路由系列的第五篇,也是折腾时间最长的一篇,在ESXi下分别独立安装和使用iKuai和openWrt...

取消回复欢迎 发表评论: