文件下载:wget

wget命令简述

wget是Linux系统中一个从网络下载文件的工具,名称来源于 “World Wide Web” 与 “get” 的结合,意为可以从网上获取文件。支持通过 HTTP、HTTPS、FTP 三个最常见的 TCP/IP协议下载,并可以使用 HTTP 代理;其便捷之处在于用户退出系统后可以后台继续执行,直到下载任务完成。

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

wget常用命令参数

基本语法是:wget [参数列表] URL

1
2
3
4
5
6
7
8
9
10
11
-V,  --version               显示 Wget 的版本信息并退出
-O, --output-document=FILE 将文档写入 FILE。
-b, --background 启动后转入后台
-i, --input-file=FILE 下载本地或外部文件中的 URLs
-c, --continue 继续下载部分下载的文件
-S, --server-response 打印服务器响应
--user=USER 将 ftp 和 http 的用户名均设置为 USER
--password=PASS 将 ftp 和 http 的密码均设置为 PASS
--ask-password 提示输入密码
--proxy-user=USER 使用 USER 作为代理用户名
--proxy-password=PASS 使用 PASS 作为代理密码

wget常用实例

重命名下载文件

1
wget -O newfilename.txt https://www.baidu.com/index.html

后台下载文件

1
wget -b https://www.baidu.com/index.html

查看下载进度:

1
tal -f wget-log

终止下载:

1
2
ps aux | grep wget   //找到 wget 进程号
kill -9 进程号 //杀掉下载进程

连续下载多个文件

1、创建 download.txt 并将多条下载链接写在文件中

1
2
3
4
vi download.txt
http://www.demo.com/001.txt
http://www.demo.com/002.txt
http://www.demo.com/003.txt

2、下载download.txt中的所有文件

1
wget -i download.txt

从需要账户/密码的网站下载文件

1
2
3
4
5
设置用户名为admin,密码为Admin:
wget --http-user=admin --http-password=Admin http://www.demo.com/001.txt

当密码中包含特殊字符时(如:* ?# ! / 等),需要使用 '' 单引号对其进行转义,否则会报错:
wget --http-user=admin --http-password=Admin'!'123 http://www.demo.com/001.txt