首页 > 运维 > linux运维 > 正文

Linux命令行如何下载文件wget详解

P粉602998670
发布: 2025-09-13 09:29:07
原创
216人浏览过
wget是Linux下最可靠的下载工具,支持断点续传、认证下载和递归抓取。使用-c可续传大文件,--user与--password用于登录认证,结合-r、-np、-l等参数可实现网站镜像或目录下载,同时可通过--no-check-certificate跳过证书验证(需谨慎)。

linux命令行如何下载文件wget详解

在Linux命令行下,下载文件最核心、最可靠的工具,毫无疑问就是

wget
登录后复制
。它就像一个老兵,虽然界面朴素,但功能强大且久经沙场。无论你是想从一个简单的HTTP链接抓取文件,还是需要处理更复杂的认证、断点续传,甚至递归下载整个网站,
wget
登录后复制
都能胜任。它直接、高效,是每个Linux用户都应该掌握的技能,省去了图形界面操作的繁琐。

在Linux命令行中下载文件,

wget
登录后复制
的基本用法直接到令人发指:你只需要在终端输入
wget
登录后复制
,后面紧跟着你要下载文件的URL,回车,文件就开始下载了。比如,要下载一个名为
example.tar.gz
登录后复制
的文件,命令就是:

wget https://example.com/files/example.tar.gz
登录后复制

这看起来很简单,但实际操作中,我们总会遇到各种各样的情况。比如文件太大下载到一半断了,或者需要把文件保存到指定位置,甚至是从一个需要用户名密码的服务器下载。这时候,

wget
登录后复制
的各种参数就派上用场了。

如何用
wget
登录后复制
下载大文件并断点续传,避免重复下载?

下载大文件时,最怕的就是网络中断或者下载到一半电脑关机。如果每次都要从头开始,那简直是噩梦。

wget
登录后复制
-c
登录后复制
参数(或
--continue
登录后复制
)就是为此而生。它能让
wget
登录后复制
检查本地是否已经存在同名文件,如果存在且未下载完成,就会尝试从上次中断的地方继续下载。

假设你正在下载一个几GB的虚拟机镜像:

wget -c https://example.com/large-image.iso
登录后复制

如果下载过程中断,你只需要再次运行相同的命令,

wget
登录后复制
就会自动检查本地
large-image.iso
登录后复制
文件的大小,然后从上次停止的地方接着下载。这大大提高了下载的效率和容错性,尤其是在网络环境不稳定的情况下,简直是救命稻草。我个人就无数次因为这个功能而避免了重复下载几个小时的痛苦。

Linux命令行如何下载文件wget详解

下载受保护或需要认证的文件,
wget
登录后复制
应该怎么处理?

有时候,我们要下载的文件并不是公开的,可能需要用户名和密码才能访问。

wget
登录后复制
提供了
--user
登录后复制
(或
-U
登录后复制
)和
--password
登录后复制
(或
-P
登录后复制
)参数来处理HTTP或FTP认证。

例如,从一个需要认证的FTP服务器下载文件:

wget --user=your_username --password=your_password ftp://ftp.example.com/private/document.pdf
登录后复制

行者AI
行者AI

行者AI绘图创作,唤醒新的灵感,创造更多可能

行者AI 100
查看详情 行者AI

这里需要注意的是,直接在命令行中输入密码可能会被历史记录下来,存在一定的安全风险。如果是在脚本中,或者对安全性有更高要求,可以考虑使用其他更安全的方式传递凭据,或者确保只有受信任的用户能访问该历史记录。

另外,如果你遇到HTTPS证书验证失败的情况(比如自签名证书,或者证书过期),

wget
登录后复制
可能会拒绝下载。在这种情况下,你可以使用
--no-check-certificate
登录后复制
参数来跳过证书验证。

wget --no-check-certificate https://internal.company.com/report.zip
登录后复制

我知道这听起来有点粗暴,因为它绕过了安全检查,但在某些内部测试环境,或者你知道来源可靠但证书又过期的情况下,这确实能帮你解燃眉之急。但请务必谨慎使用,确保你完全信任下载源,否则可能会带来安全隐患。

Linux命令行如何下载文件wget详解

除了单个文件,
wget
登录后复制
还能下载整个网站或指定目录吗?

wget
登录后复制
不仅仅是下载单个文件的好手,它在递归下载方面也异常强大,可以用来镜像整个网站或者下载网站的某个特定目录。这对于备份网站、离线浏览或者分析网站结构都非常有用。

要递归下载一个网站,你可以使用

-r
登录后复制
--recursive
登录后复制
)参数。但仅仅这样还不够,你可能还需要结合其他参数来控制下载的深度、文件类型、是否跟随外部链接等。

一个常用的组合是:

wget -r -np -l 1 --accept=pdf,doc,xls https://example.com/documents/
登录后复制

这里:

  • -r
    登录后复制
    :启用递归下载。
  • -np
    登录后复制
    --no-parent
    登录后复制
    ):确保
    wget
    登录后复制
    不会向上级目录递归,只在当前目录及其子目录中操作。
  • -l 1
    登录后复制
    --level=1
    登录后复制
    ):设置递归下载的深度为1,意味着只下载当前目录下的文件和链接到的文件,不会再深入到子目录的子目录。如果你想下载整个网站,可以把这个值设置得更大,或者干脆不设(默认是无限深度,但要小心,可能会下载非常多的内容)。
  • --accept=pdf,doc,xls
    登录后复制
    :指定只下载
    pdf
    登录后复制
    doc
    登录后复制
    xls
    登录后复制
    类型的文件。你也可以用
    --reject
    登录后复制
    来排除某些文件类型。

通过这些参数的组合,

wget
登录后复制
能够非常灵活地完成各种复杂的下载任务,从简单的文件抓取到整个网站的镜像,它的功能远超许多人的想象。但请记住,在使用递归下载时,务必注意目标网站的
robots.txt
登录后复制
文件和使用条款,避免给服务器造成不必要的负担。

以上就是Linux命令行如何下载文件wget详解的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号