wget 命令实例

发布于 2024-11-08 01:29:40 字数 4428 浏览 4 评论 0

wget 是 Linux/Unix 命令行 文件下载器 ,它是下载网站上文件的免费的非交互下载工具,它支持 HTTPHTTPSFTP 协议,也支持通过 HTTP 代理检索。Wget 是非交互的,这就是说它可以在用户没有登录到系统时在后台工作。

在本帖中,我们将讨论 wget 命令的一些不同使用实例。

实例 1 :下载单个文件

# wget http://mirror.nbrc.ac.in/centos/7.0.1406/isos/x86_64/CentOS-7.0-1406-x86_64-DVD.iso

该命令会下载 CentOS 7 ISO 文件到用户当前工作目录中。

实例 2:续传分段下载文件

总有那么一些场景,当我们开始下载一个大文件时,中途互联网却断开了。那样的话,我们可以使用 wget 命令的‘ -c ’选项,让下载从断点续传。

# wget -c http://mirror.nbrc.ac.in/centos/7.0.1406/isos/x86_64/CentOS-7.0-1406-x86_64-DVD.iso

实例 3:后台下载文件

我们可以通过在 wget 命令中使用‘-b’选项来让它在后台下载文件。

linuxtechi@localhost:~$ wget -b http://mirror.nbrc.ac.in/centos/7.0.1406/isos/x86_64/
CentOS-7.0-1406-x86_64-DVD.iso
Continuing in background, pid 4505.
Output will be written to ‘wget-log’.

正如我们上面所见,下载进程被捕获到用户当前目录中的‘wget-log’文件中。

linuxtechi@localhost:~$ tail -f wget-log
2300K .......... .......... .......... .......... .......... 0% 48.1K 18h5m
2350K .......... .......... .......... .......... .......... 0% 53.7K 18h9m
2400K .......... .......... .......... .......... .......... 0% 52.1K 18h13m
2450K .......... .......... .......... .......... .......... 0% 58.3K 18h14m
2500K .......... .......... .......... .......... .......... 0% 63.6K 18h14m
2550K .......... .......... .......... .......... .......... 0% 63.4K 18h13m
2600K .......... .......... .......... .......... .......... 0% 72.8K 18h10m
2650K .......... .......... .......... .......... .......... 0% 59.8K 18h11m
2700K .......... .......... .......... .......... .......... 0% 52.8K 18h14m
2750K .......... .......... .......... .......... .......... 0% 58.4K 18h15m
2800K .......... .......... .......... .......... .......... 0% 58.2K 18h16m
2850K .......... .......... .......... .......... .......... 0% 52.2K 18h20m

实例 4:限制下载速率

默认情况下,wget 命令尝试以全速下载,但是有时候你可能使用的是共享互联网,那么如果你尝试使用 wget 来下载庞大的文件时,就会把其它用户的网络拖慢。这时,你如果使用‘-limit-rate’选项来限制下载速率,就可以避免这种情况的发生。

#wget --limit-rate=100k http://mirror.nbrc.ac.in/centos/7.0.1406/isos/x86_64/CentOS-7.0-1406-x86_64-DVD.iso

在上例中,下载速率被限制到了 100k。

实例 5:使用‘-i’选项来下载多个文件

如果你想要使用 wget 命令来下载多个文件,那么首先要创建一个文本文件,并将所有的 URL 添加到该文件中。

# cat download-list.txt
url1
url2
url3
url4

现在,发出以下命令吧:

# wget -i download-list.txt

实例 6:增加重试次数

我们可以使用‘-tries’选项来增加重试次数。默认情况下,wget 命令会重试 20 次,直到下载成功。

该选项在你下载一个大文件的过程中互联网连接发生问题时十分有用,因为在那种情况下,会增加下载失败的几率。

# wget --tries=75 http://mirror.nbrc.ac.in/centos/7.0.1406/isos/x86_64/CentOS-7.0-1406-x86_64-DVD.iso

实例 7:使用-o 选项来重定向 wget 日志到文件

我们可以使用‘-o’选项来重定向 wget 命令的日志到一个日志文件。

#wget -o download.log http://mirror.nbrc.ac.in/centos/7.0.1406/isos/x86_64/CentOS-7.0-1406-x86_64-DVD.iso

上面的命令会在用户当前目录下创建 download.log 文件。

实例 8:下载整个网站用于本地查看

# wget --mirror -p --convert-links -P ./<Local-Folder> website-url

鉴于

  • –mirror : 开启适用于镜像的选项。
  • -p : 下载所有能正确显示指定 HTML 网页的全部必要文件。
  • –convert-links : 下载完成后,转换文档中的链接以用于本地查看。
  • - P ./Local-Folder : 保存所有文件和目录到指定的目录。

实例 9:下载过程中拒绝文件类型

当你正打算下载整个网站时,我们可以使用‘-reject’选项来强制 wget 不下载图片。

# wget --reject=png Website-To-Be-Downloaded

实例 10:使用 wget -Q 设置下载配额

我们可以使用‘-Q’选项强制 wget 命令在下载大小超过特定大小时退出下载。

# wget -Q10m -i download-list.txt

注意,配额不会对单个文件的下载产生影响。所以,如果你指定 wget -Q10m ftp://wuarchive.wustl.edu/ls-lR.gz,ls-lR.gz 的全部内容都会被下载。这在下载命令行指定的多个 URL 时也一样。然而,在递归或从一个输入文件检索时,还是值得一用。因此,你可以安全地输入‘wget -Q10m -i download-list.txt’,在超过配额时,下载会退出。

实例 11:从密码保护的网站下载文件

# wget --ftp-user=<user-name> --ftp-password=<password> Download-URL

另外一种指定用户名和密码的方式是在 URL 中。

任一方法都将你的密码揭露给了那些运行 ps 命令的人。要防止密码被查看到,将它们存储到 .wgetrc 或 .netrc 中,并使用 chmod 设置合适的权限来保护这些文件不让其他用户查看到。如果密码真的很重要,不要在它们还在文件里躺着的时候走开,在 Wget 开始下载后,编辑该文件,或者删除它们。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

半透明的墙

暂无简介

0 文章
0 评论
23 人气
更多

推荐作者

qq_z5gHLI

文章 0 评论 0

圈圈圆圆圈圈

文章 0 评论 0

alipaysp_h2Vbo4sv6k

文章 0 评论 0

初见你

文章 0 评论 0

清风无影

文章 0 评论 0

云胡

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文