Linux wget命令详解

2023年 10月 5日 75.9k 0

命令介绍

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

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论