Linux wget命令详解
wget命令简介
wget命令用来从指定的URL下载文件。wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。这对从那些限定了链接时间的服务器上下载大文件非常有用。
wget
命令是Linux
系统用于从Web
下载文件的命令行工具,支持 HTTP、HTTPS及FTP
协议下载文件,而且wget
还提供了很多选项,例如下载多个文件、后台下载,使用代理等等,使用非常方便。
安装
1 | yum install -y wget |
选项参数
选项 | 描述 |
---|---|
-a<日志文件> | 在指定的日志文件中记录资料的执行过程; |
-A<后缀名> | 指定要下载文件的后缀名,多个后缀名之间使用逗号进行分隔; |
-b | 进行后台的方式运行wget; |
-B<连接地址> | 设置参考的连接地址的基地地址; |
-c | 继续执行上次终端的任务; |
-C<标志> | 设置服务器数据块功能标志on为激活,off为关闭,默认值为on; |
-d | 调试模式运行指令; |
-D<域名列表> | 设置顺着的域名列表,域名之间用“,”分隔; |
-e<指令> | 作为文件“.wgetrc”中的一部分执行指定的指令; |
-h | 显示指令帮助信息; |
-i<文件> | 从指定文件获取要下载的URL地址; |
-l<目录列表> | 设置顺着的目录列表,多个目录用“,”分隔; |
-L | 仅顺着关联的连接; |
-r | 递归下载方式; |
-nc | 文件存在时,下载文件不覆盖原有文件; |
-nv | 下载时只显示更新和出错信息,不显示指令的详细执行过程; |
-q | 不显示指令执行过程; |
-nh | 不查询主机名称; |
-v | 显示详细执行过程; |
-V | 显示版本信息; |
–passive-ftp | 使用被动模式PASV连接FTP服务器; |
–follow-ftp | 从HTML文件中下载FTP连接文件。 |
启动
1 2 3 4 | -V, --version 显示 Wget 的版本信息并退出。 -h, --help 打印此帮助。 -b, --background 启动后转入后台。 -e, --execute=COMMAND 运行一个“.wgetrc”风格的命令。 |
日志和输入文件
1 2 3 4 5 6 7 8 9 10 11 12 | -o, --output-file=FILE 将日志信息写入 FILE。 -a, --append-output=FILE 将信息添加至 FILE。 -d, --debug 打印大量调试信息。 -q, --quiet 安静模式 (无信息输出)。 -v, --verbose 详尽的输出 (此为默认值)。 -nv, --no-verbose 关闭详尽输出,但不进入安静模式。 --report-speed=TYPE Output bandwidth as TYPE. TYPE can be bits. -i, --input-file=FILE 下载本地或外部 FILE 中的 URLs。 -F, --force-html 把输入文件当成 HTML 文件。 -B, --base=URL 解析与 URL 相关的 HTML 输入文件 (由 -i -F 选项指定)。 --config=FILE Specify config file to use. |
下载
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | -t, --tries=NUMBER 设置重试次数为 NUMBER (0 代表无限制)。 --retry-connrefused 即使拒绝连接也是重试。 -O, --output-document=FILE 将文档写入 FILE。 -nc, --no-clobber skip downloads that would download to existing files (overwriting them). -c, --continue 断点续传下载文件。 --progress=TYPE 选择进度条类型。 -N, --timestamping 只获取比本地文件新的文件。 --no-use-server-timestamps 不用服务器上的时间戳来设置本地文件。 -S, --server-response 打印服务器响应。 --spider 不下载任何文件。 -T, --timeout=SECONDS 将所有超时设为 SECONDS 秒。 --dns-timeout=SECS 设置 DNS 查寻超时为 SECS 秒。 --connect-timeout=SECS 设置连接超时为 SECS 秒。 --read-timeout=SECS 设置读取超时为 SECS 秒。 -w, --wait=SECONDS 等待间隔为 SECONDS 秒。 --waitretry=SECONDS 在获取文件的重试期间等待 1..SECONDS 秒。 --random-wait 获取多个文件时,每次随机等待间隔 0.5*WAIT...1.5*WAIT 秒。 --no-proxy 禁止使用代理。 -Q, --quota=NUMBER 设置获取配额为 NUMBER 字节。 --bind-address=ADDRESS 绑定至本地主机上的 ADDRESS (主机名或是 IP)。 --limit-rate=RATE 限制下载速率为 RATE。 --no-dns-cache 关闭 DNS 查寻缓存。 --restrict-file-names=OS 限定文件名中的字符为 OS 允许的字符。 --ignore-case 匹配文件/目录时忽略大小写。 -4, --inet4-only 仅连接至 IPv4 地址。 -6, --inet6-only 仅连接至 IPv6 地址。 --prefer-family=FAMILY 首先连接至指定协议的地址 FAMILY 为 IPv6,IPv4 或是 none。 --user=USER 将 ftp 和 http 的用户名均设置为 USER。 --password=PASS 将 ftp 和 http 的密码均设置为 PASS。 --ask-password 提示输入密码。 --no-iri 关闭 IRI 支持。 --local-encoding=ENC IRI (国际化资源标识符) 使用 ENC 作为本地编码。 --remote-encoding=ENC 使用 ENC 作为默认远程编码。 --unlink remove file before clobber. |
目录
1 2 3 4 5 6 | -nd, --no-directories 不创建目录。 -x, --force-directories 强制创建目录。 -nH, --no-host-directories 不要创建主目录。 --protocol-directories 在目录中使用协议名称。 -P, --directory-prefix=PREFIX 以 PREFIX/... 保存文件 --cut-dirs=NUMBER 忽略远程目录中 NUMBER 个目录层。 |
HTTP选项
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | --http-user=USER 设置 http 用户名为 USER。 --http-password=PASS 设置 http 密码为 PASS。 --no-cache 不在服务器上缓存数据。 --default-page=NAME 改变默认页 (默认页通常是“index.html”)。 -E, --adjust-extension 以合适的扩展名保存 HTML/CSS 文档。 --ignore-length 忽略头部的‘Content-Length’区域。 --header=STRING 在头部插入 STRING。 --max-redirect 每页所允许的最大重定向。 --proxy-user=USER 使用 USER 作为代理用户名。 --proxy-password=PASS 使用 PASS 作为代理密码。 --referer=URL 在 HTTP 请求头包含‘Referer: URL’。 --save-headers 将 HTTP 头保存至文件。 -U, --user-agent=AGENT 标识为 AGENT 而不是 Wget/VERSION。 --no-http-keep-alive 禁用 HTTP keep-alive (永久连接)。 --no-cookies 不使用 cookies。 --load-cookies=FILE 会话开始前从 FILE 中载入 cookies。 --save-cookies=FILE 会话结束后保存 cookies 至 FILE。 --keep-session-cookies 载入并保存会话 (非永久) cookies。 --post-data=STRING 使用 POST 方式;把 STRING 作为数据发送。 --post-file=FILE 使用 POST 方式;发送 FILE 内容。 --content-disposition 当选中本地文件名时 允许 Content-Disposition 头部 (尚在实验)。 --content-on-error output the received content on server errors. --auth-no-challenge 发送不含服务器询问的首次等待 的基本 HTTP 验证信息。 |
HTTPS (SSL/TLS) 选项
1 2 3 4 5 6 7 8 9 10 11 | --secure-protocol=PR choose secure protocol, one of auto, SSLv2, SSLv3, TLSv1, TLSv1_1 and TLSv1_2. --no-check-certificate 不要验证服务器的证书。 --certificate=FILE 客户端证书文件。 --certificate-type=TYPE 客户端证书类型,PEM 或 DER。 --private-key=FILE 私钥文件。 --private-key-type=TYPE 私钥文件类型,PEM 或 DER。 --ca-certificate=FILE 带有一组 CA 认证的文件。 --ca-directory=DIR 保存 CA 认证的哈希列表的目录。 --random-file=FILE 带有生成 SSL PRNG 的随机数据的文件。 --egd-file=FILE 用于命名带有随机数据的 EGD 套接字的文件。 |
FTP选项
1 2 3 4 5 6 7 | --ftp-user=USER 设置 ftp 用户名为 USER。 --ftp-password=PASS 设置 ftp 密码为 PASS。 --no-remove-listing 不要删除‘.listing’文件。 --no-glob 不在 FTP 文件名中使用通配符展开。 --no-passive-ftp 禁用“passive”传输模式。 --preserve-permissions 保留远程文件的权限。 --retr-symlinks 递归目录时,获取链接的文件 (而非目录)。 |
WARC options
1 2 3 4 5 6 7 8 9 10 | --warc-file=FILENAME save request/response data to a .warc.gz file. --warc-header=STRING insert STRING into the warcinfo record. --warc-max-size=NUMBER set maximum size of WARC files to NUMBER. --warc-cdx write CDX index files. --warc-dedup=FILENAME do not store records listed in this CDX file. --no-warc-compression do not compress WARC files with GZIP. --no-warc-digests do not calculate SHA1 digests. --no-warc-keep-log do not store the log file in a WARC record. --warc-tempdir=DIRECTORY location for temporary files created by the WARC writer. |
递归下载
1 2 3 4 5 6 7 8 9 | -r, --recursive 指定递归下载。 -l, --level=NUMBER 最大递归深度 (inf 或 0 代表无限制,即全部下载)。 --delete-after 下载完成后删除本地文件。 -k, --convert-links 让下载得到的 HTML 或 CSS 中的链接指向本地文件。 --backups=N before writing file X, rotate up to N backup files. -K, --backup-converted 在转换文件 X 前先将它备份为 X.orig。 -m, --mirror -N -r -l inf --no-remove-listing 的缩写形式。 -p, --page-requisites 下载所有用于显示 HTML 页面的图片之类的元素。 --strict-comments 用严格方式 (SGML) 处理 HTML 注释。 |
递归接受/拒绝
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | -A, --accept=LIST 逗号分隔的可接受的扩展名列表。 -R, --reject=LIST 逗号分隔的要拒绝的扩展名列表。 --accept-regex=REGEX regex matching accepted URLs. --reject-regex=REGEX regex matching rejected URLs. --regex-type=TYPE regex type (posix|pcre). -D, --domains=LIST 逗号分隔的可接受的域列表。 --exclude-domains=LIST 逗号分隔的要拒绝的域列表。 --follow-ftp 跟踪 HTML 文档中的 FTP 链接。 --follow-tags=LIST 逗号分隔的跟踪的 HTML 标识列表。 --ignore-tags=LIST 逗号分隔的忽略的 HTML 标识列表。 -H, --span-hosts 递归时转向外部主机。 -L, --relative 只跟踪有关系的链接。 -I, --include-directories=LIST 允许目录的列表。 --trust-server-names use the name specified by the redirection url last component. -X, --exclude-directories=LIST 排除目录的列表。 -np, --no-parent 不追溯至父目录。 |
示列
1 2 3 4 5 | wget http://test.com/testfile.zip ->下载指定文件到当前文件夹 wget -O wordpress.zip http://test.com/download ->指定保存名字 wget --limit-rate=300k http://www.linuxde.net/testfile.zip ->限制下载速度 wget -c http://www.linuxde.net/testfile.zip ->断点续传 wget -b http://www.linuxde.net/testfile.zip ->后台下载 |
设置使用指定浏览器下载(伪装下载)
1 2 3 4 5 6 | 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://www.linuxde.net/testfile.zip wget --spider url ->测试下载 wget --tries=40 URL ->设置重试次数为40 wget -i filelist.txt ->从filelist.txt获取下载地址 |
使用 wget 下载单个文件
以下的例子是从网络下载一个文件并保存在当前目录
在下载的过程中会显示进度条,包含(下载完成百分比,已经下载的字节,当前下载速度,剩余下载时间)。
1 | wget http://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz |
使用 wget -O 下载并以不同的文件名保存
1 2 3 | [root@network test]# wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz [root@network test]# ls wordpress-4.9.4-zh_CN.tar.gz |
我们可以使用参数-O来指定一个文件名:
1 2 | wget -O wordpress.tar.gz http://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz wordpress.tar.gz |
使用 wget -c 断点续传
使用wget -c重新启动下载中断的文件:
对于我们下载大文件时突然由于网络等原因中断非常有帮助,我们可以继续接着下载而不是重新下载一个文件
1 | wget -c https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz |
使用 wget -b 后台下载
对于下载非常大的文件的时候,我们可以使用参数-b进行后台下载
1 2 3 | [root@network test]# wget -b https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz 继续在后台运行,pid 为 1463。 将把输出写入至 “wget-log”。 |
你可以使用以下命令来察看下载进度
1 2 3 4 5 6 7 8 9 10 | [root@network test]# tail -f wget-log 8550K .......... .......... .......... .......... .......... 96% 814K 0s 8600K .......... .......... .......... .......... .......... 97% 9.53M 0s 8650K .......... .......... .......... .......... .......... 98% 86.8M 0s 8700K .......... .......... .......... .......... .......... 98% 145M 0s 8750K .......... .......... .......... .......... .......... 99% 67.4M 0s 8800K .......... .......... .......... .......... .......... 99% 107M 0s 8850K .......... ......... 100% 1.95M=16s 2018-11-10 15:39:07 (564 KB/s) - 已保存 “wordpress-4.9.4-zh_CN.tar.gz.2” [9082696/9082696]) |
伪装代理名称下载
有些网站能通过根据判断代理名称不是浏览器而拒绝你的下载请求。不过你可以通过–user-agent参数伪装。
使用 wget –spider 测试下载链接
当你打算进行定时下载,你应该在预定时间测试下载链接是否有效。我们可以增加–spider参数进行检查。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | wget –spider URL 如果下载链接正确,将会显示 wget –spider URL Spider mode enabled. Check if remote file exists. HTTP request sent, awaiting response… 200 OK Length: unspecified [text/html] Remote file exists and could contain further links, but recursion is disabled — not retrieving. 这保证了下载能在预定的时间进行,但当你给错了一个链接,将会显示如下错误 wget –spider url Spider mode enabled. Check if remote file exists. HTTP request sent, awaiting response… 404 Not Found Remote file does not exist — broken link!!! |
你可以在以下几种情况下使用spider参数:
1 2 3 | 1 定时下载之前进行检查 2 间隔检测网站是否可用 3 检查网站页面的死链接 |
使用 wget –tries 增加重试次数
如果网络有问题或下载一个大文件也有可能失败。wget默认重试20次连接下载文件。如果需要,你可以使用–tries增加重试次数。
1 | 1 wget –tries=40 URL |
使用 wget -i 下载多个文件
1 2 3 4 5 6 7 8 9 10 | 首先,保存一份下载链接文件 cat > filelist.txt url1 url2 url3 url4 接着使用这个文件和参数-i下载 wget -i filelist.txt |
使用 wget –mirror 镜像网站
使用 wget –reject 过滤指定格式下载
你想下载一个网站,但你不希望下载图片,你可以使用以下命令。
1 | wget –reject=gif url |
使用 wget -o 把下载信息存入日志文件
你不希望下载信息直接显示在终端而是在一个日志文件,可以使用以下命令:
1 | wget -o download.log URL |
下载单个文件到当前目录
这里下载nginx
最新稳定版nginx-1.22.1.tar.gz
到当前目录/app
下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [root@myhadoop app]# wget https://nginx.org/download/nginx-1.22.1.tar.gz --2022-12-10 14:22:45-- https://nginx.org/download/nginx-1.22.1.tar.gz 正在解析主机 nginx.org (nginx.org)... 52.58.199.22, 3.125.197.172, 2a05:d014:edb:5704::6, ... 正在连接 nginx.org (nginx.org)|52.58.199.22|:443... 已连接。 已发出 HTTP 请求,正在等待回应... 200 OK 长度:1073948 (1.0M) [application/octet-stream] 正在保存至: “nginx-1.22.1.tar.gz” 100%[=====================================================>] 1,073,948 202KB/s 用时 5.2s 2022-12-10 14:22:51 (202 KB/s) - 已保存 “nginx-1.22.1.tar.gz” [1073948/1073948]) [root@myhadoop app]# ll 总用量 1052 -rw-r--r--. 1 root root 1073948 10月 19 17:23 nginx-1.22.1.tar.gz [root@myhadoop app]# |
下载文件到当前目录并重命名
以上面下载nginx-1.22.1.tar.gz
文件为例,通过使用-O
(大写)选项将下载的文件命名为nginx.tar.gz
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [root@myhadoop app]# wget -O nginx.tar.gz https://nginx.org/download/nginx-1.22.1.tar.gz --2022-12-10 14:29:32-- https://nginx.org/download/nginx-1.22.1.tar.gz 正在解析主机 nginx.org (nginx.org)... 3.125.197.172, 52.58.199.22, 2a05:d014:edb:5702::6, ... 正在连接 nginx.org (nginx.org)|3.125.197.172|:443... 已连接。 已发出 HTTP 请求,正在等待回应... 200 OK 长度:1073948 (1.0M) [application/octet-stream] 正在保存至: “nginx.tar.gz” 100%[=======================================================>] 1,073,948 243KB/s 用时 4.3s 2022-12-10 14:29:37 (243 KB/s) - 已保存 “nginx.tar.gz” [1073948/1073948]) [root@myhadoop app]# ll 总用量 2104 -rw-r--r--. 1 root root 1073948 10月 19 17:23 nginx-1.22.1.tar.gz -rw-r--r--. 1 root root 1073948 10月 19 17:23 nginx.tar.gz [root@myhadoop app]# |
将文件下载到指定目录
默认情况下,wget
将下载的文件保存在当前工作目录中,使用-P
(大写)选项可以将文件保存到指定目录下,例如,下面将将文件下载到/opt/mydownload
目录下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | [root@myhadoop /]# wget -P /opt/mydownload https://nginx.org/download/nginx-1.22.1.tar.gz --2022-12-10 14:34:05-- https://nginx.org/download/nginx-1.22.1.tar.gz 正在解析主机 nginx.org (nginx.org)... 52.58.199.22, 3.125.197.172, 2a05:d014:edb:5702::6, ... 正在连接 nginx.org (nginx.org)|52.58.199.22|:443... 已连接。 已发出 HTTP 请求,正在等待回应... 200 OK 长度:1073948 (1.0M) [application/octet-stream] 正在保存至: “/opt/mydownload/nginx-1.22.1.tar.gz” 100%[========================================================>] 1,073,948 9.91KB/s 用时 1m 53s 2022-12-10 14:36:00 (9.31 KB/s) - 已保存 “/opt/mydownload/nginx-1.22.1.tar.gz” [1073948/1073948]) [root@myhadoop /]# pwd / [root@myhadoop /]# ll /opt/mydownload 总用量 1052 -rw-r--r--. 1 root root 1073948 10月 19 17:23 nginx-1.22.1.tar.gz [root@myhadoop /]# |
断点续传功能使用
当下载一个大文件时,如果中途网络断开导致没有下载完成,这时候不用从头重新下载,可以使用命令的-c
(小写)选项恢复下载,让下载从断点续传。
1 2 3 4 5 6 7 | [root@myhadoop /]# wget -c https://nginx.org/download/nginx-1.22.1.tar.gz --2022-12-10 14:43:40-- https://nginx.org/download/nginx-1.22.1.tar.gz 正在解析主机 nginx.org (nginx.org)... 3.125.197.172, 52.58.199.22, 2a05:d014:edb:5704::6, ... 正在连接 nginx.org (nginx.org)|3.125.197.172|:443... 已连接。 已发出 HTTP 请求,正在等待回应... 200 OK 长度:1073948 (1.0M) [application/octet-stream] 正在保存至: “nginx-1.22.1.tar.gz” |
后台下载文件
这里使用-b(小写)选项进行后台下载:
1 2 3 | [root@myhadoop /]# wget -b https://nginx.org/download/nginx-1.22.1.tar.gz 继续在后台运行,pid 为 31882。 将把输出写入至 “wget-log”。 |
这时,前台下载不显示进度,可以查看wget-log
日志:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | [root@myhadoop /]# cat wget-log --2022-12-10 14:47:25-- https://nginx.org/download/nginx-1.22.1.tar.gz 正在解析主机 nginx.org (nginx.org)... 3.125.197.172, 52.58.199.22, 2a05:d014:edb:5702::6, ... 正在连接 nginx.org (nginx.org)|3.125.197.172|:443... 已连接。 已发出 HTTP 请求,正在等待回应... 200 OK 长度:1073948 (1.0M) [application/octet-stream] 正在保存至: “nginx-1.22.1.tar.gz” 0K .......... .......... .......... .......... .......... 4% 86.5K 12s 50K .......... .......... .......... .......... .......... 9% 86.6K 11s 100K .......... .......... .......... .......... .......... 14% 129K 9s 150K .......... .......... .......... .......... .......... 19% 129K 8s 200K .......... .......... .......... .......... .......... 23% 113K 8s 250K .......... .......... .......... .......... .......... 28% 95.4K 7s 300K .......... .......... .......... .......... .......... 33% 130K 7s 350K .......... .......... .......... .......... .......... 38% 86.5K 6s 400K .......... .......... .......... .......... .......... 42% 86.0K 6s 450K .......... .......... .......... .......... .......... 47% 78.3K 6s 500K .......... .......... .......... .......... .......... 52% 117K 5s 550K .......... .......... .......... .......... .......... 57% 80.6K 5s 600K .......... .......... .......... .......... .......... 61% 64.6K 4s 650K .......... .......... .......... .......... .......... 66% 70.2K 4s 700K .......... .......... .......... .......... .......... 71% 78.1K 3s 750K .......... .......... .......... .......... .......... 76% 58.0K 3s 800K .......... .......... .......... .......... .......... 81% 103K 2s 850K .......... .......... .......... .......... .......... 85% 74.8K 2s 900K .......... .......... .......... .......... .......... 90% 111K 1s 950K .......... .......... .......... .......... .......... 95% 89.0K 1s 1000K .......... .......... .......... .......... ........ 100% 120K=12s 2022-12-10 14:47:38 (89.8 KB/s) - 已保存 “nginx-1.22.1.tar.gz” [1073948/1073948]) [root@myhadoop /]# |
同时下载多个文件
在当前目录下,创建一个文件,然后每行写一条要下载文件的URL:
1 2 3 4 5 | [root@myhadoop mydownload]# cat mydownlist.txt https://nginx.org/download/nginx-1.22.1.tar.gz https://downloads.mysql.com/archives/get/p/23/file/mysql-community-8.0.30-1.el7.src.rpm https://www.php.net/distributions/php-8.2.0.tar.gz [root@myhadoop mydownload]# |
然后同时下载:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | [root@myhadoop mydownload]# wget -i mydownlist.txt --2022-12-10 15:01:32-- https://nginx.org/download/nginx-1.22.1.tar.gz 正在解析主机 nginx.org (nginx.org)... 52.58.199.22, 3.125.197.172, 2a05:d014:edb:5704::6, ... 正在连接 nginx.org (nginx.org)|52.58.199.22|:443... 已连接。 已发出 HTTP 请求,正在等待回应... 200 OK 长度:1073948 (1.0M) [application/octet-stream] 正在保存至: “nginx-1.22.1.tar.gz” 100%[==========================================================>] 1,073,948 23.1KB/s 用时 57s 2022-12-10 15:02:32 (18.4 KB/s) - 已保存 “nginx-1.22.1.tar.gz” [1073948/1073948]) --2022-12-10 15:02:32-- https://downloads.mysql.com/archives/get/p/23/file/mysql-community-8.0.30-1.el7.src.rpm 正在解析主机 downloads.mysql.com (downloads.mysql.com)... 23.63.37.189, 2600:1417:e800:18a::2e31, 2600:1417:e800:189::2e31 正在连接 downloads.mysql.com (downloads.mysql.com)|23.63.37.189|:443... 已连接。 已发出 HTTP 请求,正在等待回应... 302 Moved Temporarily 位置:https://cdn.mysql.com/archives/mysql-8.0/mysql-community-8.0.30-1.el7.src.rpm [跟随至新的 URL] --2022-12-10 15:02:33-- https://cdn.mysql.com/archives/mysql-8.0/mysql-community-8.0.30-1.el7.src.rpm 正在解析主机 cdn.mysql.com (cdn.mysql.com)... 23.59.157.177 正在连接 cdn.mysql.com (cdn.mysql.com)|23.59.157.177|:443... 已连接。 已发出 HTTP 请求,正在等待回应... 200 OK 长度:462617676 (441M) [application/x-redhat-package-manager] 正在保存至: “mysql-community-8.0.30-1.el7.src.rpm” 100%[=======================================================>] 462,617,676 5.76MB/s 用时 83s 2022-12-10 15:03:57 (5.32 MB/s) - 已保存 “mysql-community-8.0.30-1.el7.src.rpm” [462617676/462617676]) --2022-12-10 15:03:57-- https://www.php.net/distributions/php-8.2.0.tar.gz 正在解析主机 www.php.net (www.php.net)... 185.85.0.29, 2a02:cb40:200::1ad 正在连接 www.php.net (www.php.net)|185.85.0.29|:443... 已连接。 已发出 HTTP 请求,正在等待回应... 200 OK 长度:20054375 (19M) [application/octet-stream] 正在保存至: “php-8.2.0.tar.gz” 100%[========================================================>] 20,054,375 267KB/s 用时 30s 2022-12-10 15:04:28 (657 KB/s) - 已保存 “php-8.2.0.tar.gz” [20054375/20054375]) FINISHED --2022-12-10 15:04:28-- Total wall clock time: 2m 56s Downloaded: 3 files, 461M in 2m 50s (2.72 MB/s) [root@myhadoop mydownload]# |
不检查证书下载文件
有些网站需要安全性检查,这时使用--no-check-certificate
参数继续下载:
1 2 3 4 5 6 7 8 | [root@myhadoop mydownload]# wget https://dlcdn.apache.org/httpd/httpd-2.4.54.tar.gz --2022-12-10 15:09:12-- https://dlcdn.apache.org/httpd/httpd-2.4.54.tar.gz 正在解析主机 dlcdn.apache.org (dlcdn.apache.org)... 151.101.2.132, 2a04:4e42::644 正在连接 dlcdn.apache.org (dlcdn.apache.org)|151.101.2.132|:443... 已连接。 错误: 无法验证 dlcdn.apache.org 的由 “/C=US/O=Let's Encrypt/CN=R3” 颁发的证书: 颁发的证书已经过期。 要以不安全的方式连接至 dlcdn.apache.org,使用“--no-check-certificate”。 [root@myhadoop mydownload]# |
提示,要以不安全的方式连接至 dlcdn.apache.org,使用“--no-check-certificate”。
1 2 3 4 5 6 7 8 9 | [root@myhadoop mydownload]# wget https://dlcdn.apache.org/httpd/httpd-2.4.54.tar.gz --no-check-certificate --2022-12-10 15:10:19-- https://dlcdn.apache.org/httpd/httpd-2.4.54.tar.gz 正在解析主机 dlcdn.apache.org (dlcdn.apache.org)... 151.101.2.132, 2a04:4e42::644 正在连接 dlcdn.apache.org (dlcdn.apache.org)|151.101.2.132|:443... 已连接。 警告: 无法验证 dlcdn.apache.org 的由 “/C=US/O=Let's Encrypt/CN=R3” 颁发的证书: 颁发的证书已经过期。 已发出 HTTP 请求,正在等待回应... 200 OK 长度:9743277 (9.3M) [application/x-gzip] 正在保存至: “httpd-2.4.54.tar.gz” |
增加重试次数下载文件
如果网络有问题或下载一个大文件有可能会下载失败,wget
默认重试20次
,我们可以使用-tries
选项来增加重试次数。
1 2 3 | [root@myhadoop ~]# wget --tries=30 https://nginx.org/download/nginx-1.22.1.tar.gz --2022-12-10 15:17:28-- https://nginx.org/download/nginx-1.22.1.tar.gz 正在解析主机 nginx.org (nginx.org)... 3.125.197.172, 52.58.199.22, 2a05:d014:edb:5702::6, ... |
通过FTP下载文件
如果要从受密码保护的FTP
服务器下载文件,需要指定用户名和密码,格式如下:
1 2 | wget ftp-url wget --ftp-user=USERNAME --ftp-password=PASSWORD url |
下载一个完整的网站
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | # --miror开户镜像下载。 # -p下载所有为了html页面显示正常的文件。 # --convert-links下载后,转换成本地的链接。 # -P ./LOCAL保存所有文件和目录到本地指定目录 wget --mirror -p --convert-links -P ./LOCAL URL wget --reject=gif ur ->下载一个网站,但你不希望下载图片,可以使用这条命令 wget -o download.log URL ->把下载信息存入日志文件 wget -Q5m -i filelist.txt ->限制总下载文件大小 wget -r -A.pdf url ->下载指定格式文件 [root@myhadoop ~]# wget -c -r -np -k -L -p https://www.haopython.com/category/mypython/ --no-check-certificate --2022-12-10 15:28:00-- https://www.haopython.com/category/mypython/ 正在解析主机 www.haopython.com (www.haopython.com)... 101.34.101.155 正在连接 www.haopython.com (www.haopython.com)|101.34.101.155|:443... 已连接。 警告: 无法验证 www.haopython.com 的由 “/C=US/O=Let's Encrypt/CN=R3” 颁发的证书: 颁发的证书已经过期。 |
基中:
-c 断点续传
-r 递归下载,下载指定网页某一目录下(包括子目录)的所有文件
-np 递归下载时不搜索上层目录
-k 将绝对链接转为相对链接,下载整个站点后脱机浏览网页
-L 递归时不进入其它主机
-p 下载网页所需的所有文件,如图片等
整理的很详细,希望持续输出