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

命令行软件下载神器wget,你会用吗

qiyuwang 2024-11-03 16:31 17 浏览 0 评论

1、功能说明

Linux wget是一个linux命令行下的文件下载工具。对于Linux运维人员来说,是必备的工具,wget工具体积小,但功能完善,它支持断点下载功能,同时支持FTP和HTTP、HTTPS下载方式,支持代理服务器,使用起来也很方便简单。其格式如下:

wget [要下载软件的网址]

2.wget实战举例

(1)使用wget下载单个文件

以下的例子是从网络下载一个linux-4.0.2版本内核,可以使用以下命令

wget https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/linux-4.14.100.tar.gz 

在下载的过程中会显示进度条,包含(下载完成百分比,已经下载的字节,当前下载速度,剩余下载时间)。

(2)使用wget下载文件并以不同的文件名保存

这要通过wget -O参数实现,wget默认会以url最后一个符号”/”的后面的字符来命名,这对于动态链接的下载文件名通常会不正确。 例如下面的URL:

http://cn2.php.net/get/php-7.3.2.tar.bz2/from/this/mirror

通过wget下载后,会下载一个名为mirror的文件,为了解决这个问题,我们可以使用参数-O来指定一个文件名:

wget -O php-7.3.2.tar.bz2 http://cn2.php.net/get/php-7.3.2.tar.bz2/from/this/mirror

(3)使用wget 的“-limit -rate”参数进行限速下载

当我们执行wget的时候,它默认会占用全部可能的宽带下载。但是当我们准备在线上服务器下载一个大文件时,为了不让wget耗尽带宽影响业务,就必须对wget进行限速了。

wget --limit-rate=1M http://mirrors.163.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso

这是限速1MB/s进行传输。

(4)使用wget -c断点续传

当我们要下载的文件特别大,而我们所在的网络速度又特别慢的时候,可能会出现一个文件还没有下载完,而网络就已经中断了的情况,此时如果没有断点续传功能,又要重新下载,这简直是噩梦,但wget就考虑到这点了,它支持断点续传,并且wget的断点续传是自动的,只需要使用-c参数即可,看下图操作:

断点续传对于我们下载大文件时突然由于网络等原因中断非常有帮助,我们可以继续接着下载而不是重新下载一个文件。

需要注意的是:使用断点续传要求服务器端支持断点续传。怎么测试呢,看下面这这个部分。

(5)测试服务器是否支持断点续传

通常情况下,Web服务器(如Apache、nginx)会默认开启对断点续传的支持。因此,如果直接通过Web服务器来提供文件的下载,可以不必做特别的配置,即可享受到断点续传的好处。断点续传是在发起HTTP请求的时候加入RANGE头来告诉服务器客户端已经下载了多少字节。等所有这些请求都返回之后,再把得到的内容一块一块的拼接起来得到完整的资源。

wget -S http://mirrors.163.com 2>&1 |grep "Accept-Ranges"
wget -S https://mirrors.aliyun.com/centos/timestamp.txt 2>&1|grep Ranges

输出结果中如果有“Accept-Ranges: bytes”,说明服务器支持按字节断点续传下载。

(6)让wget在后台自动下载

对于下载非常大的文件的时候,我们可以使用参数“-b”,让wget进行后台下载。看下图所示:

我们可以使用“tail -f wget-log”命令来察看下载进度。

(7)给wget下载增加重试次数和超时时间

如果网络有问题或下载一个大文件有可能会失败。此时,wget默认重试20次连接下载文件。如果需要,我们可以使用“-t/--tries”增加重试次数。 同理,还可以使用“-T/ --timeout”设置连接超时时间。

其中“-t”参数表示重试次数,例如需要重试10次,那么就写“-t 10”,如果设成“-t 0”,那么表示无穷次重试,直到连接成功。“-T”参数表示超时等待时间,例如“-T 120”,表示等待120秒连接不上就算超时。 来看下图:

(8)使用wget 批量下载多个文件

有时候要下载的文件很多,怎么实现批量下载呢,很简单,首先,保存一份下载文件链接的列表, 例如:

cat > filelist.txt 
url1 
url2 
url3 
url4 

接着使用这个文件和参数“i”即可实现批量下载 ,看下图操作:

(9)使用wget递归镜像网站

看到一个网站很漂亮,想下载下来学习一下,无奈页面太多,怎么办,wget一个命令就能轻松搞定,wget加上参数之后,即可成为相当强大的下载工具,并可以将下载的页面中的链接转换为本地链接,让你瞬间拥有一个想要的网站。

下面的例子是下载整个网站到本地的当前目录下:

wget -r -p -np -k  http://www.xxx.com

其中,用到了几个参数,含义如下:

-r, --recursive:表示递归下载页面,会下载所有的链接,不过要注意的是,不要单独使用这个参数,因为如果你要下载的网站也有别的网站的链接,那么wget也会把别的网站的东西下载下来,所以还要加上“-np”这个参数,表示不下载别的站点的链接。
-np,表示不下载第三方站点的链接。
-k, --convert-links:表示将下载的网页里的链接修改为本地链接。
-p, --page-requisites: 表示下载所有的图片、js、css等页面显示所需的内容元素。

(10)通过wget下载文件到指定目录

在进行编写运维自动化脚本的时候,会有自动下载文件到指定目录的需求,此时就需要用到wget的“-P”参数,通过指定“-P”参数可以下载文件到指定目录,例如:

[root@iZ23sl33esbZ ~]# wget http://mirrors.163.com/centos/timestamp.txt  -P  /tmp/

这样下载的文件timestamp.txt会自动保存到系统的/tmp目录下。

相关推荐

windows开启telnet服务,检测远程服务端口是否可以连通

本文介绍windwos开启telnet服务,telnet服务一般可以用于检测远程主机的某个端口服务是否可以连通,在日常的工作中,我们经常会遇到在本地的windows检测远程服务端口是否可以连通。win...

仅在Web登录新华三交换机条件下启用设备Telnet登录方式

概述Web登录新华三交换机可以在“网络-服务”页面中启用设备Telnet服务或SSH服务,也可以在“设备-管理员”设置管理员用户的可用服务,然而,在设备Web页面中,无法设置lineVTY用户线【l...

思科交换机,路由器如何关闭telnet 开启ssh服务

SSH为建立在应用层基础上的安全协议。SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。今天我们就来说说思科交换机,路...

智能化弱电行业常用的DOS命令,掌握了你也能成为...

前言在做智能化弱电项目时,前端摄像头设备安装结束后,我们会对网络摄像头进行调试,调试过程中会遇到前端摄像头没有图像或者图像出来了画面卡顿的现象。我们会采用ping命令来测试网络的连通性和网络承载能力。...

「干货」eNSP模拟器之配置Telnet登录

配置说明:配置Telnet,使R2(模拟PC)通过SW1登录到R1进行管理和配置。操作步骤:system-view##进入系统视图[Huawei]sysnameR1##改名为R1[R1]int...

win11开启telnet服务怎么操作 win11打开telent指令是什么

telnet服务是我们在进行远程连接的时候,必须要打开的一项功能。但是有不少用户们不清楚在windows11系统中怎么开启telnet服务。今天小编就使用详细的图文教程,来给大家说明一下打开telen...

华三(H3C)交换机Telnet的远程登陆

一,配置交换机管理IP[SW1]vlan20//创建管理vlan[SW1]interfacevlan20//进入vlan接口[SW1-Vlanif20]ipaddress192.168....

win10 telnet命令怎么查看端口是否打开

可能大家也会遇到这个问题,win10telnet命令查看端口是否打开的步骤是什么?具体方法如下:1、键盘输入快捷键WIN+R,打开运行窗口。2、输入cmd,点击确定按钮。3、弹出cmd命令行窗...

Windows 7如何打开Telnet功能(win7系统打开telnet)

Windows7默认安装后是没有开启telnet客户端功能的,例如,我们在开始菜单中输入cmd,然后使用telnet命令,会弹出下图提示:‘telnet’不是内部或外部命令,也不是可运行程序或批处理文...

为锐捷路由器交换机开启web和telnet,实现轻松管理

笔者上一篇文章写了关于锐捷二层交换机配置教程,那么接下来讲一下锐捷的路由交换设备配置web、telnet技巧。同样,今天的教程也是基于命令行,比较简单,适合新手小白进行学习。准备工作配置前准备:con...

一文学会telnet命令的用途和使用方法

Telnet是一个古老的远程登录协议,可以让本地计算机获得远程计算机的工作能力。它采用了TCP的可靠连接方式,可以连接任何网络互通的远程计算机。不过由于它采用了明文传输方式,存在安全风险,目前已经很少...

Telnet命令是什么?如何使用?(telnet命令在哪里开启)

telnet命令是一个常用的远程登陆工具,使用它,我们可以快捷地登陆远程服务器进行操作。那么如何使用telnet命令呢?首先,我们需要打开telnet功能,任何电脑默认是关闭此功能的,开启方式如下:打...

win11系统如何开启telnet服务(拷贝版本)

  我们要知道,Telnet协议是Internet远程登陆服务的标准协议,可以使用户在本地计算机上完成远程主机的工作,不过对于一些刚接触win11中文版系统的用户来说,可能还不知道telnet服务在哪...

如何开启telnet客户端(如何开启telnet服务)

Telnet协议是TCP/IP协议家族中的一员,是Internet远程登陆服务的标准协议和主要方式,Telnet是常用的远程控制Web服务器的方法。工作中经常用到telnet客户端,但在windows...

Telnet 是什么,如何启用它?(telnet有什么用)

对于Internet等TCP/IP网络,Telnet是一个终端仿真程序。Telnet软件在您的系统上运行并将您的个人计算机链接到网络服务器。它将所有数据转换为纯文本这一事实被认为是易受...

取消回复欢迎 发表评论: