一、前言
wget是Linux中的一个下载文件的工具,wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上。
二、主要特点
丰富的协议支持:wget支持HTTP、HTTPS和FTP等多种协议,使得用户可以从不同类型的服务器上下载文件。
自动下载:wget是非交互式的,可以在后台工作。用户可以在启动wget下载任务后退出系统,wget将继续在后台执行直到任务完成。
断点续传:如果下载过程中由于网络原因中断,wget支持从已经下载的部分继续下载未完成的部分,而无需从头开始。
网络适应性强:wget在带宽较窄或网络不稳定的情况下具有很强的适应性。如果由于网络原因下载失败,wget会不断尝试直到整个文件下载完毕。
易于使用和配置:wget提供了丰富的命令行选项,用户可以根据需要灵活配置下载任务。同时,wget的使用也相对简单,基本语法为“wget [参数列表] URL”。
三、常用命令
它用在命令行下。对于Linux用户是必不可少的工具,尤其对于网络管理员,经常要下载一些软件或从远程服务器恢复备份到本地服务器。如果我们使用虚拟主机,处理这样的事务我们只能先从远程服务器下载到我们电脑磁盘,然后再用ftp工具上传到服务器。这样既浪费时间又浪费精力,那不没办法的事。而到了Linux VPS,它则可以直接下载到服务器而不用经过上传这一步。wget工具体积小但功能完善,它支持断点下载功能,同时支持FTP和HTTP下载方式,支持代理服务器和设置起来方便简单。下面我们以实例的形式说明怎么使用wget。
下载安装
yum install -y wget
1 wget http://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz
使用参数-O来指定一个文件名:
1 wget -O wordpress.tar.gz http://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz
1. 下载单个文件
wget [URL]
例如,要下载一个名为123.jpg的图片文件,可以使用以下命令
wget http://test.com/images/123.jpg
2. 将下载的文件保存到指定目录
使用-P或--directory-prefix选项可以指定下载文件的保存目录
wget -P /path/to/directory [URL]
3. 为下载的文件指定名称
使用-O或--output-document选项可以为下载的文件指定一个新的名称
wget -O newname.jpg http://test.com/images/12345.jpg
4. 断点续传
如果下载过程中由于某种原因中断,可以使用-c或--continue选项从上次中断的地方继续下载:
wget -c http://test.com/123.zip
5. 限制下载速度
使用--limit-rate选项可以限制下载速度,以避免占用过多的网络带宽:
wget --limit-rate=200k http://test.com/123.zip
6. 后台下载
使用-b或--background选项可以在后台执行下载任务,即使关闭终端也不会中断下载
wget -b http://test.com/123.zip
7. 结合-o或–output-file选项,可以将下载进度信息输出到日志文件中
wget -b -o download.log http://test.com/largefile.zip
8. 下载整个网站或指定目录
使用-r或--recursive选项可以递归下载整个网站或指定目录中的内容。结合-l或--level选项可以限制递归的深度:
wget -r -l1 http://test.com/directory/
9. 使用-A或–accept选项可以指定要下载的文件类型
wget -r -A "*.jpg,*.png" http://test.com/images/
下载选项:
-t 或 --tries=NUMBER:设置重试次数为指定的次数(0代表无限制)。
-O 或 --output-document=FILE:将下载的文档写入指定的文件。
-nc 或 --no-clobber:不覆盖已存在的文件。
-c 或 --continue:断点续传下载文件。
--progress=TYPE:选择进度条类型(如dot或bar)。
HTTP选项:
--http-user=USER:设置HTTP用户名。
--http-password=PASS:设置HTTP密码。
--no-cache:不在服务器上缓存数据。
--U 或 --user-agent=AGENT:标识为指定的代理而不是Wget/VERSION。
日志和输入文件选项
-o或--output-file=LOGFILE:将日志信息写入指定的日志文件。
-a或--append-output=LOGFILE:将日志信息追加到指定的日志文件,而不是覆盖
四、总结
wget是一个功能强大且易于使用的Linux命令行下载工具。它支持多种协议、具有断点续传功能、对网络适应性强,并且提供了丰富的命令行选项供用户灵活配置。无论是下载单个文件还是整个网站的内容,wget都能轻松胜任。