Linux wget命令详解

命令介绍

GNU Wget是一个免费的非交互式文件下载工具。它支持HTTP、HTTPS和FTP协议,以及通过HTTP代理进行检索。

Wget是非交互式的,这意味着它可以在后台下载,当用户未登录时。这允许你启动检索并断开与系统的连接,让Wget完成工作。相比之下,大多数Web浏览器都需要持续的用户介入,当传输大量数据,这可能是一个很大的障碍。

Wget命令用来从指定的URL下载文件。Wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,Wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。这对从那些限定了链接时间的服务器上下载大文件非常有用。

基本用法
wget https://nodejs.org/dist/v20.8.0/node-v20.8.0.pkg
指定保存的文件名

-O--output-document

wget -O node.pkg https://nodejs.org/dist/v20.8.0/node-v20.8.0.pkg
指定保存的目录

-P--directory-prefix

wget -P documents/archives/ https://nodejs.org/dist/v20.8.0/node-v20.8.0.pkg
后台下载

-b--background

wget -b https://nodejs.org/dist/v20.8.0/node-v20.8.0.pkg

默认下载完成后,把输出结果会写入wget默认的日志文件(生成在当前目录):wget-log,可使用-o 自定义日志文件
指定后台下载输出的日志文件名

-o--output-file

wget -o diylog -b https://nodejs.org/dist/v20.8.0/node-v20.8.0.pkg
指定后台下载输出的日志文件名(追加写入)

a--append-output

wget -a diylog -b https://nodejs.org/dist/v20.8.0/node-v20.8.0.pkg
断点续传

-c--continue

wget -c https://nodejs.org/dist/v20.8.0/node-v20.8.0.pkg
限速下载

--limit-rate

wget --limit-rate=300k https://nodejs.org/dist/v20.8.0/node-v20.8.0.pkg

可用的单位有:k、m,可使用小数,例如300.5k
测试下载链接

--spider

wget --spider https://nodejs.org/dist/v20.8.0/node-v20.8.0.pkg

当链接有效,则返回200ok,否则返回404等特定的错误信息
同时下载多个文件(指定文件的方式)

-i--input-file

wget -i abc.txt

abc.txt文件中包含多个url,格式要求为每个url为一行
同时下载多个文件(直接在命令中指定多个)
wget https://nodejs.org/dist/v20.8.0/node-v20.8.0.pkg https://nodejs.org/dist/v18.18.0/node-v18.18.0.pkg
同时下载多个文件(链接是带有数字模式的)
wget https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.1.{1..15}.tar.gz
伪装代理名称下载

-U--user-agent

wget -U "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" https://nodejs.org/dist/v20.8.0/node-v20.8.0.pkg
设置重试次数

-t--tries

wget -t 20 https://nodejs.org/dist/v20.8.0/node-v20.8.0.pkg
下载ftp链接文件

--ftp-user--ftp-password

wget --ftp-user=YOUR_USERNAME --ftp-password=YOUR_PASSWORD ftp://example.com/something.tar
下载需要授权的http链接文件

--http-user--http-password

wget --http-user=narad --http-password=password http://http.example.com/filename.tar.gz
下载整个站点
wget --mirror --convert-links --page-requisites --no-parent -P documents/websites/ https://some-website.com

--mirror:递归下载
--convert-links:下载后,转换成本地的链接。
--page-requisites:下载所有必须的文件:CSS、JS、图片
–-no-parent:它确保不会检索层次结构之上的目录
忽略SSL证书检查

--no-check-certificate

wget --no-check-certificate https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.1.1.tar.gz
进度条样式设置

--progress

wget --progress=dot https://nodejs.org/dist/v20.8.0/node-v20.8.0.pkg

以上会显示点状进度条

可用的样式有:dot、bar,默认是进度条
设置使用代理服务器下载
1. 在环境变量中配置
http_proxy=http://username:password@proxy.server.address:port/
https_proxy=http://username:password@proxy.server.address:port/

2. 在.wgetrc配置文件中设置
use_proxy = on
http_proxy = http://username:password@proxy.server.address:port/
https_proxy = http://username:password@proxy.server.address:port/

3. 在命令行中使用-e或--execute
wget -e use_proxy=yes -e http_proxy=http://proxy.server.address:port/ https://example.com
不使用代理

--no-proxy

wget --no-proxy https://nodejs.org/dist/v20.8.0/node-v20.8.0.pkg
限制总下载文件大小

-Q--quota

wget -Q10k https://example.com/ls-lR.gz

可用的单位有:b、k、m

设置额度为:0或inf(infinite)则表示不限制

注意对单个文件无效
显示版本信息

-V--version

wget -V
显示帮助信息

-h--help

wget -h
执行格式为.wgetrc配置文件的命令

-eexecute

wget -e use_proxy=yes -e http_proxy=http://proxy.server.address:port/ https://example.com 
开启debug模式

-d--debug

wget -d https://nodejs.org/dist/v20.8.0/node-v20.8.0.pkg
静默模式

-q--quiet

wget -q https://nodejs.org/dist/v20.8.0/node-v20.8.0.pkg

不输出任何信息
打印详细的信息

-v--verbose

wget -v https://nodejs.org/dist/v20.8.0/node-v20.8.0.pkg

默认是带有-v选项
强制把读取的文件视作html

-F--force-html

wget -F a.txt
不覆盖存在的文件

-nc–-no-clobber

wget -nc https://nodejs.org/dist/v20.8.0/node-v20.8.0.pkg
不重新下载文件,除非服务器上的比本地的新

-N--timestamping

wget -N https://nodejs.org/dist/v20.8.0/node-v20.8.0.pkg
下载文件,并打印服务器响应

-S--server-response

wget -S https://nodejs.org/dist/v20.8.0/node-v20.8.0.pkg
设置响应超时的秒数

-T--timeout

wget -T 60 https://nodejs.org/dist/v20.8.0/node-v20.8.0.pkg
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值