10.15 wget:命令行下载工具
10.15.1 命令详解
【命令星级】 ★★★★☆
【功能说明】
wget命令用于从网络上下载某些资料,该命令对于能够连接到互联网的Linux系统的作用非常大,可以直接从网络上下载自己所需要的文件。
wget的特点如下:
- 支持断点下载功能。
- 支持FTP和HTTP下载方式。
- 支持代理服务器。
- 非常稳定,它在带宽很窄的情况下货不稳定的网络中有很强的适应性。如果是由于网络的原因下载失败,wget会不断地尝试,直到整个文件下载完毕。如果是服务器打断了下载过程,它会再次连接到服务器上从停止的地方继续下载。这对那些从限定了连接世界的服务器上下载大文件非常有用。
【语法格式】
wget [option] [usr]
ssh [选项] [下载地址]
**说明:**在wget命令及后面的选项和下载地址里,每个元素直接都至少要有一个空格。
【选项说明】
表10-15针对该命令的参数选项进行了说明。
表10-15 wget命令的参数选项及说明
10.15.2 使用范例
**范例10-50:**使用wget下载单个文件。
[root@centos7 ~]# wget http://nginx.org/download/nginx-1.19.4.tar.gz #wget接上下载地址即可。
--2020-10-30 20:10:56-- http://nginx.org/download/nginx-1.19.4.tar.gz
Resolving nginx.org (nginx.org)... 52.58.199.22, 3.125.197.172, 2a05:d014:edb:5702::6, ...
Connecting to nginx.org (nginx.org)|52.58.199.22|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1054974 (1.0M) [application/octet-stream]
Saving to: ‘nginx-1.19.4.tar.gz’
100%[==========================>] 1,054,974 12.6KB/s in 1m 43s
2020-10-30 20:12:40 (10.0 KB/s) - ‘nginx-1.19.4.tar.gz’ saved [1054974/1054974]
在下载的过程中会显示进度条,包含(下载完成百分比,以及下载的字节,当前下载的速度,剩余下载的时间)。
**范例10-51:**使用-O选项指定下载文件的保存文件名。
[root@centos7 ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo #这是一个更新epel源的命令,将epel-7.repo下载并放入/etc/yum.repos.d/目录,改名为epel.repo。
wget默认会以最后一个符合“/”的后面的字符串来命名,对于动态链接的下载文件名通常会不正确。为了解决这个问题,我们可以使用参数-O来指定一个文件名。
**范例10-52:**通过–limit-rate限速下载。
[root@centos7 ~]# wget --limit-rate=3k http://nginx.org/download/nginx-1.19.4.tar.gz #使用--limit-rate参数设置最高下载速度为3k/s。
--2020-10-30 20:20:47-- http://nginx.org/download/nginx-1.19.4.tar.gz
Resolving nginx.org (nginx.org)... 3.125.197.172, 52.58.199.22, 2a05:d014:edb:5704::6, ...
Connecting to nginx.org (nginx.org)|3.125.197.172|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1054974 (1.0M) [application/octet-stream]
Saving to: ‘nginx-1.19.4.tar.gz’
100%[==========================>] 1,054,974 3.00KB/s in 5m 43s
#下载速度为3k/s。
2020-10-30 20:26:32 (3.00 KB/s) - ‘nginx-1.19.4.tar.gz’ saved [1054974/1054974]
**范例10-53:**使用-c参数断点续传。
[root@centos7 ~]# wget -c http://nginx.org/download/nginx-1.19.4.tar.gz
--2020-10-30 20:30:57-- http://nginx.org/download/nginx-1.19.4.tar.gz
Resolving nginx.org (nginx.org)... 3.125.197.172, 52.58.199.22, 2a05:d014:edb:5704::6, ...
Connecting to nginx.org (nginx.org)|3.125.197.172|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1054974 (1.0M) [application/octet-stream]
Saving to: ‘nginx-1.19.4.tar.gz’
4% [> ] 43,008 14.7KB/s ^C #强制终止。
[root@centos7 ~]# ll -h nginx-1.19.4.tar.gz #当前文件的大小。
-rw-r--r--. 1 root root 52K Oct 30 20:31 nginx-1.19.4.tar.gz
[root@centos7 ~]# wget -c http://nginx.org/download/nginx-1.19.4.tar.gz #接着下载。
--2020-10-30 20:31:14-- http://nginx.org/download/nginx-1.19.4.tar.gz
Resolving nginx.org (nginx.org)... 3.125.197.172, 52.58.199.22, 2a05:d014:edb:5704::6, ...
Connecting to nginx.org (nginx.org)|3.125.197.172|:80... connected.
HTTP request sent, awaiting response... 206 Partial Content #当客户端表明自己只需要目标URL上的部分资源的时候,返回HTTP/206 Partial Content响应。这种情况经常会发生在客户端继续请求一个未完成的下载的时候,或者是客户端尝试实现带宽截留的时候。
Length: 1054974 (1.0M), 1002608 (979K) remaining [application/octet-stream]
Saving to: ‘nginx-1.19.4.tar.gz’
9% [+> ] 105,469 13.4KB/s eta 69s ^C
**范例10-54:**使用wget -b 后台下载文件。
[root@centos7 ~]# wget -b http://nginx.org/download/nginx-1.19.4.tar.gz
Continuing in background, pid 2073.
Output will be written to ‘wget-log’.
[root@centos7 ~]# tail wget-log #查看下载进度的日志文件。
700K .......... .......... .......... .......... .......... 72% 6.26K 25s
750K .......... .......... .......... .......... .......... 77% 12.1K 21s
800K .......... .......... .......... .......... .......... 82% 13.7K 16s
850K .......... .......... .......... .......... .......... 87% 8.14K 12s
900K .......... .......... .......... .......... .......... 92% 8.07K 7s
950K .......... .......... .......... .......... .......... 97% 13.9K 3s
1000K .......... .......... .......... 100% 8.00K=95s
2020-10-30 20:38:31 (10.9 KB/s) - ‘nginx-1.19.4.tar.gz’ saved [1054974/1054974]
**范例10-55:**伪装代理名称下载。
[root@centos7 ~]# wget --user-agent="Mozilla/5.0 (Windows;U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16" http://nginx.org/download/nginx-1.19.4.tar.gz #使用--user-agent参数指定客户端类型。
--2020-10-30 20:43:24-- http://nginx.org/download/nginx-1.19.4.tar.gz
Resolving nginx.org (nginx.org)... 52.58.199.22, 3.125.197.172, 2a05:d014:edb:5704::6, ...
Connecting to nginx.org (nginx.org)|52.58.199.22|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1054974 (1.0M) [application/octet-stream]
Saving to: ‘nginx-1.19.4.tar.gz.1’
100%[==========================>] 1,054,974 156KB/s in 7.0s
2020-10-30 20:43:32 (146 KB/s) - ‘nginx-1.19.4.tar.gz.1’ saved [1054974/1054974]
有些网站会根据判断代理名称不是浏览器而拒绝你的下载请求,不过你可以通过–user-agent参数进行伪装。
**范例10-56:**监控网站URL是否正常的案例。
[root@centos7 ~]# wget -q -T 3 --tries=1 --spider www.baidu.com #采用静默访问的方式,3秒超时,重试1次,模拟爬虫的方式进行访问。
[root@centos7 ~]# echo $?
0 #返回0表示正常。
10.16 mailq:显示邮件传输队列
10.16.1 命令详解
【命令星级】 ★★★☆☆
【功能说明】
mailq命令是mail queue(邮件队列)的缩写,它会显示待发送的邮件队列,显示的条目包括邮件队列ID、邮件大小、加入队列时间、邮件发送者喝接受者。如果邮件进行最后一次尝试后还没有将邮件投递出去,则显示发送失败的原因。
【语法格式】
mailq [option]
mailq [选项]
**说明:**在mailq命令及后面的选项里,每个元素直接都至少要有一个空格。
【选项说明】
表10-16针对该命令的参数选项进行了说明。
表10-16 mailq命令的参数选项及说明