每天学一个 Linux 命令(61):wget

2021-03-15 16:53:03 浏览数 (1)

命令简介

wget 命令是 Linux 系统一个免费实用的文件下载工具,支持 HTTP、HTTPS,或者 FTP。

wget 下载它是非交互式的,可以在后台运行,这就表明你可以事先登录到系统,启动一个下载的动作,然后退出系统让wget自动在后台将这个动作执行完成(下载完成)。wget 非常稳定,它在带宽不足或网络不稳定的情况下,如果产生下载失败,那么 wget 会不断的尝试下载动作,直至整个下载过程完成。

语法格式

代码语言:javascript复制
wget [option]... [URL]...

选项说明

wget 命令的选项参数特别的多,本文不会全部介绍,只介绍常用的,感兴趣的读者可以自己在系统中查看帮助信息。

启动选项

代码语言:javascript复制
-V, –-version  #打印wget的版本后退出
-h, –-help     #打印帮助
-b, –-background  #启动后转入后台执行

记录和输入文件选项

代码语言:javascript复制
-o, –-output-file=FILE    #将记录信息写入指定的FILE文件中
-a, –-append-output=FILE  #将记录信息追加到指定的FILE文件中
-d, –-debug    #打印调试信息并输出
-i, –-input-file=FILE  #下载指定FILE文件中出现的URLs
-F, –-force-html  #将输入文件当作HTML格式文件来处理

下载选项

代码语言:javascript复制
-t, –-tries=NUMBER         #配置最大尝试链接次数(0 表示无限制).
-O –-output-document=FILE  #把文档写到FILE文件中
-c, –-continue      #接着下载末下载完成的文件
-T, –-timeout=SECONDS   #配置响应超时的秒数
-w, –-wait=SECONDS   #指定两次尝试之间间隔SECONDS秒
–waitretry=SECONDS   #指定在重新链接之间等待1…SECONDS秒
–limit-rate=RATE    #配置限制下载输率

目录选项

代码语言:javascript复制
-nd –-no-directories     #不创建目录
-x, –-force-directories  #强制创建目录
-nH, –-no-host-directories  #不创建主机目录
-P, –-directory-prefix=PREFIX  #将文件保存到目录 PREFIX/…

HTTP 选项

代码语言:javascript复制
-–http-user=USER     #指定HTTP用户名为 USER.
-–http-passwd=PASS   #指定http密码为 PASS
-–proxy-user=USER    #指定代理的用户名为 USER
-–proxy-passwd=PASS  #指定代理的密码为 PASS
-C, –-cache=on/off   #允许/不允许服务器端的数据缓存
-s, –-save-headers   #保存HTTP头到文件
–-cookies=off        #不使用 cookies

HTTPS 选项

代码语言:javascript复制
--no-check-certificate   #下载文件时,不验证服务器的证书
--certificate=FILE       #指定客户端证书文件
--certificate-type=TYPE  #指定客户端证书类型
--private-key=FILE       #指定私钥文件
--private-key-type=TYPE  #指定私钥文件类型

FTP选项

代码语言:javascript复制
-–passive-ftp   #使用被动传输模式
-–active-ftp    #使用主动传输模式
-–retr-symlinks  #在递归的时候,将链接指向文件(而不是目录)

应用举例

从 www.mingongge.com下载默认的主页文件(index.htm),将该文件保存到当前工作目录

代码语言:javascript复制
wget https://www.mingongge.com

从www.mingongge.com下载文件 mysql_backup.tar.gz,并将下载的带宽使用限制为 20k/s。

代码语言:javascript复制
wget --limit-rate=20k https://www.mingongge.com/backup/mysql_backup.tar.gz

从www.mingongge.com下载文件 mysql_backup.tar.gz,如果之前下载过此文件(当前目录存在此文件)将从断开的地方继续下载,即断点续传功能。

代码语言:javascript复制
wget -c https://www.mingongge.com/backup/mysql_backup.tar.gz

后台下载www.mingongge.com/backup/mysql_backup.tar.gz

代码语言:javascript复制
wget -b https://www.mingongge.com/backup/mysql_backup.tar.gz

察看后台下载进度

代码语言:javascript复制
[root@CentOS7-1 ~]# wget -b https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.32-el7-x86_64.tar.gz
Continuing in background, pid 1974.
Output will be written to ‘wget-log’.
[root@CentOS7-1 ~]# tail -f wget-log
 59100K .......... .......... .......... .......... ..........  8% 9.53M 64s
 59150K .......... .......... .......... .......... ..........  8% 10.5M 64s
 59200K .......... .......... .......... .......... ..........  8% 11.4M 64s
 59250K .......... .......... .......... .......... ..........  8% 9.05M 64s
 59300K .......... .......... .......... .......... ..........  8% 11.0M 64s
 59350K .......... .......... .......... .......... ..........  8% 9.75M 64s
 59400K .......... .......... .......... .......... ..........  8% 10.8M 64s
 59450K .......... .......... .......... .......... ..........  8% 9.00M 64s
 59500K .......... .......... .......... .......... ..........  8% 12.0M 64s
 59550K .......... .......... .......... .......... ..........  8% 4.80M 64s
 59600K .......... .......... .......... .......... ..........  8% 84.9M 64s
 59650K .......... .......... .......... .......... ..........  8% 14.8M 64s
 59700K .......... .......... .......... .......... ..........  8% 8.33M 64s
 59750K .......... .......... .......... .......... ..........  8% 12.0M 64s
 59800K .......... .......... .......... .......... ..........  8% 11.4M 64s
 59850K .......... .......... .......... .......... ..........  8% 8.77M 64s
 59900K .......... .......... .......... .......... ..........  8% 2.94M 64s
 59950K .......... .......... .......... .......... ..........  8% 15.9M 64s

检查远程文件是否存在

代码语言:javascript复制
wget --spider https://www.mingongge.com/backup/mysql_backup.tar.gz
[root@centos7 ~]# wget --spider https://www.mingongge.com/backup/mysql_backup.tar.gz
Spider mode enabled. Check if remote file exists.
--2021-03-10 09:30:41--  https://www.mingongge.com/backup/mysql_backup.tar.gz
Resolving www.mingongge.com (www.mingongge.com)... 104.164.133.141
Connecting to www.mingongge.com (www.mingongge.com)|104.164.133.141|:443... failed: Connection timed out.
Retrying.

0 人点赞