Linux 下载命令 wget

wget用于网络下载文件,支持http、https、ftp。支持断点续传功能.


1 语法

wget 选项 网址

下载到当前路径,显示下载进度,文件名与资源网址的文件名一致。


2 常用选项

常用选项 说明
-O 指定文件名与路径
-b 后台下载
-c 断点续传

3 例1:基本使用

从nginx官网下载nginx。

下载地址

http://nginx.org/download/nginx-1.24.0.tar.gz


wget http://nginx.org/download/nginx-1.24.0.tar.gz

img


4 例2:指定文件名与路径 -O

wget -O nginx-1.24.0-2023.tar.gz http://nginx.org/download/nginx-1.24.0.tar.gz

-O指定文件名,路径默认在当前路径。


wget -O /software/nginx-1.24.0-2023.tar.gz http://nginx.org/download/nginx-1.24.0.tar.gz

-O指定完整路径名,会下载到指定目录与文件。


5 例3:断点续传 -c

默认没有开启断点续传。

演示步骤:

1)wget下载mysql,到进度1%以上时,Ctrl+C停止运行;

2)再次wget下载mysql,进度会从0%开始。

img


-c开启断点续传。

wget -c https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.34-linux-glibc2.17-x86_64.tar.gz

操作步骤:

1)wget下载mysql,到进度8%时,Ctrl+C停止运行;

2)再次wget下载mysql,进度会从原有进度继续下载。

img


6 例4:后台下载 -b

当文件较大,下载会等待。为避免等待,可加选项-b让命令在后台执行。

wget -b 网址

当前下载情况会输出到wget-log日志文件中,查看此文件来查看下载进度。

tail -f wget-log

需要找个大点的文件来下载,以MySQL下载为例。

https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.34-linux-glibc2.17-x86_64.tar.gz


wget -b https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.34-linux-glibc2.17-x86_64.tar.gz

img


查看下载进度

img


关闭后台下载线程

方法1:直接通过上述进程ID

kill -9 进程ID

方法2:通过ps命令查询命令wget的进程ID,再kill

可能忘了保存进程ID


ps -ef | grep wget

img

其中6416为进程ID,然后再KILL进程。


7 例5:批量下载 -s

把要下载的多个网址放在文件中,下载指定网址文件即可。

wget -i 网址文件

这里同时下载nginx与mysql安装包。

vim down-list.txt

按i进入Insert模式

Ctrl+Insert复制如下文件内容

http://nginx.org/download/nginx-1.24.0.tar.gz

https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.34-linux-glibc2.17-x86_64.tar.gz

Esc进入命令模式

:wq保存


执行批量下载

wget -i down-list.txt

8 局限

不支持多线程下载。