命令简介
wget 命令是 Linux 系统一个免费实用的文件下载工具,支持 HTTP、HTTPS,或者 FTP。
wget 下载它是非交互式的,可以在后台运行,这就表明你可以事先登录到系统,启动一个下载的动作,然后退出系统让wget自动在后台将这个动作执行完成(下载完成)。wget 非常稳定,它在带宽不足或网络不稳定的情况下,如果产生下载失败,那么 wget 会不断的尝试下载动作,直至整个下载过程完成。
语法格式
wget [option]... [URL]...
选项说明
wget 命令的选项参数特别的多,本文不会全部介绍,只介绍常用的,感兴趣的读者可以自己在系统中查看帮助信息。
启动选项
-V, –-version #打印wget的版本后退出 -h, –-help #打印帮助 -b, –-background #启动后转入后台执行
记录和输入文件选项
-o, –-output-file=FILE #将记录信息写入指定的FILE文件中 -a, –-append-output=FILE #将记录信息追加到指定的FILE文件中 -d, –-debug #打印调试信息并输出 -i, –-input-file=FILE #下载指定FILE文件中出现的URLs -F, –-force-html #将输入文件当作HTML格式文件来处理
下载选项
-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 #配置限制下载输率
目录选项
-nd –-no-directories #不创建目录 -x, –-force-directories #强制创建目录 -nH, –-no-host-directories #不创建主机目录 -P, –-directory-prefix=PREFIX #将文件保存到目录 PREFIX/…
HTTP 选项
-–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 选项
--no-check-certificate #下载文件时,不验证服务器的证书 --certificate=FILE #指定客户端证书文件 --certificate-type=TYPE #指定客户端证书类型 --private-key=FILE #指定私钥文件 --private-key-type=TYPE #指定私钥文件类型
FTP选项
-–passive-ftp #使用被动传输模式 -–active-ftp #使用主动传输模式 -–retr-symlinks #在递归的时候,将链接指向文件(而不是目录)
应用举例
从 www.mingongge.com下载默认的主页文件(index.htm),将该文件保存到当前工作目录
wget https://www.mingongge.com
从www.mingongge.com下载文件 mysql_backup.tar.gz,并将下载的带宽使用限制为 20k/s。
wget --limit-rate=20k https://www.mingongge.com/backup/mysql_backup.tar.gz
从www.mingongge.com下载文件 mysql_backup.tar.gz,如果之前下载过此文件(当前目录存在此文件)将从断开的地方继续下载,即断点续传功能。
wget -c https://www.mingongge.com/backup/mysql_backup.tar.gz
后台下载www.mingongge.com/backup/mysql_backup.tar.gz
wget -b https://www.mingongge.com/backup/mysql_backup.tar.gz
察看后台下载进度
[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
检查远程文件是否存在
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.