搜索
查看: 1251|回复: 0

Linux wget命令获取实例终极指南

[复制链接]

282

主题

399

帖子

878

积分

vip用户

Rank: 6Rank: 6

积分
878

注册会员活跃会员热心会员

QQ
发表于 2020-11-12 19:54:04 | 显示全部楼层 |阅读模式

Linux wget是一个获取文件的工具,它用在命令行下。对于Linux用户是必不可少的工具,尤其对于网络管理员,经常要获取一些软件或从远程服务器恢复备份到本地服务器。如果我们使用虚拟主机,处理这样的事务我们只能先从远程服务器获取到我们电脑磁盘,然后再用ftp工具上传到服务器。这样既浪费时间又浪费精力,那不没办法的事。而到了Linux VPS,它则可以直接获取到服务器而不用经过上传这一步。wget工具体积小但功能完善,它支持断点获取功能,同时支持FTP和HTTP获取方式,支持代理服务器和设置起来方便简单。下面我们以实例的形式说明怎么使用wget。

1、使用 wget 获取单个文件

以下的例子是从网络获取一个文件并保存在当前目录

wget http://cn.wordpress.org/wordpress-3.1-zh_CN.zip

在获取的过程中会显示进度条,包含(获取完成百分比,已经获取的字节,当前获取速度,剩余获取时间)。

2、使用 wget -O 获取并以不同的文件名保存

wget 默认会以最后一个符合“/”的后面的字符来命令,对于动态链接的获取通常文件名会不正确。 错误:下面的例子会获取一个文件并以名称 download.php?id=1080 保存

wget http://www.zhumaohai.com/download?id=1

即使获取的文件是 zip 格式,它仍然以 download.php?id=1080 命令。 正确:为了解决这个问题,我们可以使用参数-O 来指定一个文件名:

wget -O wordpress.zip http://www.zhumaohai.com/download.php?id=1080

3、使用 wget --limit -rate 限速获取

当你执行 wget 的时候,它默认会占用全部可能的宽带获取。但是当你准备获取一个大文件,而你还需要获取其它文件时就有必要限速了。

wget --limit-rate=300k http://cn.wordpress.org/wordpress-3.1-zh_CN.zip

4、使用 wget -c 断点续传

使用 wget -c 重新启动获取中断的文件:

wget -c http://cn.wordpress.org/wordpress-3.1-zh_CN.zip

对于我们获取大文件时突然由于网络等原因中断非常有帮助,我们可以继续接着获取而不是重新获取一个文件。需要继续中断的获取时可以使用-c 参数。

5、使用 wget -b 后台获取

对于获取非常大的文件的时候,我们可以使用参数-b 进行后台获取。

wget -b http://cn.wordpress.org/wordpress-3.1-zh_CN.zip

Continuing in background, pid 1840.

Output will be written to `wget-log‘。

你可以使用以下命令来察看获取进度

tail -f wget-log

6、伪装代理名称获取

有些网站能通过根据判断代理名称不是浏览器而拒绝你的获取请求。不过你可以通过--user-agent 参数伪装。

wget --user-agent="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"

7、使用 wget --spider 测试获取链接

当你打算进行定时获取,你应该在预定时间测试获取链接是否有效。我们可以增加--spider 参数进行检查。

wget --spider URL

如果获取链接正确,将会显示

wget --spider URL

Spider mode enabled. Check if remote file exists.

HTTP request sent, awaiting response. 200 OK Length: unspecified [text/html] Remote file exists and could contain further links, but recursion is disabled -- not retrieving.

这保证了获取能在预定的时间进行,但当你给错了一个链接,将会显示如下错误

wget --spider url

Spider mode enabled.

Check if remote file exists. HTTP request sent, awaiting response.。。 404 Not Found Remote file does not exist -- broken link!!!

你可以在以下几种情况下使用 spider 参数:

  • 7.1 定时获取之前进行检查
  • 7.2 间隔检测网站是否可用
  • 7.3 检查网站页面的死链接

8、使用 wget --tries 增加重试次数

如果网络有问题或获取一个大文件也有可能失败。wget 默认重试 20 次连接获取文件。如果需要,你可以使用--tries 增加重试次数。

wget --tries=40 URL   

9、使用 wget -i 获取多个文件

首先,保存一份获取链接文件

cat>filelist.txt url1 url2 url3 url4

接着使用这个文件和参数-i 获取

wget -i filelist.txt

10、使用 wget --mirror 镜像网站

下面的例子是获取整个网站到本地。

wget --mirror -p --convert-links -P ./LOCAL URL

  • --miror:开户镜像获取
  • -p:获取所有为了 HTML 页面显示正常的文件
  • --convert-links:获取后,转换成本地的链接
  • -P ./LOCAL:保存所有文件和目录到本地指定目录

11、使用 wget --reject 过滤指定格式获取

你想获取一个网站,但你不希望获取图片,你可以使用以下命令。

wget --reject=gif url

12、使用 wget -o 把获取信息存入日志文件

你不希望获取信息直接显示在终端而是在一个日志文件,可以使用以下命令:

wget -o download.log URL

13、使用 wget -Q 限制总获取文件大小

当你想要获取的文件超过 5M 而退出获取,你可以使用以下命令:

wget -Q5m -i filelist.txt

注意:这个参数对单个文件获取不起作用,只能递归获取时才有效。

14、使用 wget -r -A 获取指定格式文件

可以在以下情况使用该功能

  • 获取一个网站的所有图片
  • 获取一个网站的所有视频
  • 获取一个网站的所有 PDF 文件

wget -r -A.pdf url

15、使用 wget FTP 获取

你可以使用 wget 来完成 ftp 链接的获取。 使用 wget 匿名 ftp 获取

wget ftp-url

使用 wget 用户名和密码认证的 ftp 获取

wget --ftp-user=USERNAME --ftp-password=PASSWORD url

有没有参加CTF比赛的,一起组队啊!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

温馨提示
1:发帖请遵守《中华人民共和国网络安全法》,发帖内容不得维护国家的、集体的、个人的利益。
2:请勿发布恶意攻击他人的技术文章、工具、和使用教程,发现后删帖处理。
3:本站的目的在于让更多的人了解网络安全,避免受到他人的恶意攻击。
4:本站中的部分文章,可能会出现一些“技术类手段”,但这仅仅为学习演示所用,而非恶意传播技术。
5:本站中的部分文章,可能转载自互联网。如有侵权行为,联系我们删除即可。
6:学习仅是充实头脑,切勿恶意攻击个人、企业等。所造成的法律后果一切由自己承担,本站及其站长概不负责。
朕知道了
快速回复 返回顶部 返回列表