wget---从指定的URL下载文件

Wget是一款强大的命令行工具,用于从指定URL下载文件。本文详细介绍了wget的各种选项和参数,如限速下载、断点续传、后台下载、代理设置等,以及如何使用wget进行文件下载、管理下载任务和解决常见问题。

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

语法

wget(选项)(参数)

选项

-a<日志文件>:在指定的日志文件中记录资料的执行过程;
-A<后缀名>:指定要下载文件的后缀名,多个后缀名之间使用逗号进行分隔;
-b:进行后台的方式运行wget;
-B<连接地址>:设置参考的连接地址的基地地址;
-c:继续执行上次终端的任务;
-C<标志>:设置服务器数据块功能标志on为激活,off为关闭,默认值为on;
-d:调试模式运行指令;
-D<域名列表>:设置顺着的域名列表,域名之间用“,”分隔;
-e<指令>:作为文件“.wgetrc”中的一部分执行指定的指令;
-h:显示指令帮助信息;
-i<文件>:从指定文件获取要下载的URL地址;
-l<目录列表>:设置顺着的目录列表,多个目录用“,”分隔;
-L:仅顺着关联的连接;
-r:递归下载方式;
-nc:文件存在时,下载文件不覆盖原有文件;
-nv:下载时只显示更新和出错信息,不显示指令的详细执行过程;
-q:不显示指令执行过程;
-nh:不查询主机名称;
-v:显示详细执行过程;
-V:显示版本信息;
--passive-ftp:使用被动模式PASV连接FTP服务器;
--follow-ftp:从HTML文件中下载FTP连接文件。

参数

URL:下载指定的URL地址。

实例

使用wget下载单个文件

wget http://www.linuxde.net/testfile.zip

以下的例子是从网络下载一个文件并保存在当前目录,在下载的过程中会显示进度条,包含(下载完成百分比,已经下载的字节,当前下载速度,剩余下载时间)。

下载并以不同的文件名保存

wget -O wordpress.zip http://www.linuxde.net/download.aspx?id=1080

wget默认会以最后一个符合/的后面的字符来命令,对于动态链接的下载通常文件名会不正确。

错误:下面的例子会下载一个文件并以名称download.aspx?id=1080保存:

wget http://www.linuxde.net/download?id=1

即使下载的文件是zip格式,它仍然以download.php?id=1080命令。

正确:为了解决这个问题,我们可以使用参数-O来指定一个文件名:

wget -O wordpress.zip http://www.linuxde.net/download.aspx?id=1080

wget限速下载

wget --limit-rate=300k http://www.linuxde.net/testfile.zip

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

使用wget断点续传

wget -c http://www.linuxde.net/testfile.zip

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

使用wget后台下载

wget -b http://www.linuxde.net/testfile.zip

Continuing in background, pid 1840.
Output will be written to `wget-log'.

对于下载非常大的文件的时候,我们可以使用参数-b进行后台下载,你可以使用以下命令来察看下载进度:

tail -f wget-log

伪装代理名称下载

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" http://www.linuxde.net/testfile.zip

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

测试下载链接

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

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参数:

  • 定时下载之前进行检查
  • 间隔检测网站是否可用
  • 检查网站页面的死链接

增加重试次数

wget --tries=40 URL

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

下载多个文件

wget -i filelist.txt

首先,保存一份下载链接文件:

cat > filelist.txt
url1
url2
url3
url4

接着使用这个文件和参数-i下载。

 

过滤指定格式下载

wget --reject=gif ur

下载一个网站,但你不希望下载图片,可以使用这条命令。

把下载信息存入日志文件

wget -o download.log URL

不希望下载信息直接显示在终端而是在一个日志文件,可以使用。

限制总下载文件大小

wget -Q5m -i filelist.txt

当你想要下载的文件超过5M而退出下载,你可以使用。注意:这个参数对单个文件下载不起作用,只能递归下载时才有效。

下载指定格式文件

wget -r -A.pdf url

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

  • 下载一个网站的所有图片。
  • 下载一个网站的所有视频。
  • 下载一个网站的所有PDF文件。

FTP下载

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

可以使用wget来完成ftp链接的下载。

使用wget匿名ftp下载:

wget ftp-url

使用wget用户名和密码认证的ftp下载:

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

转载:https://www.cnblogs.com/jianlibao/p/10006234.html

<think>好的,用户想了解wget-log文件是什么。首先,我需要回忆一下wget命令的相关知识。wget是一个常用的命令行工具,用于从网络上下载文件,支持HTTP、HTTPS和FTP等协议。当用户使用wget时,默认情况下它会将输出信息显示在终端,但有时候用户可能希望将这些信息保存到文件中,这时候就会用到日志文件。 接下来,wget-log文件应该是在使用wget时生成的日志文件。通常,用户可以通过参数指定日志文件的名称,比如使用-o选项。例如,wget -o wget-log URL,这样所有的输出信息就会被保存到wget-log文件中。不过,如果用户没有指定输出文件,可能默认的日志文件名是什么呢?或者是否在某些情况下会自动生成? 另外,可能需要考虑wget的不同版本或不同操作系统中日志文件的默认名称是否有差异。例如,某些系统可能在后台运行时自动生成wget-log,或者当使用某些选项时默认使用这个文件名。需要确认这些细节,确保回答的准确性。 还有,用户可能想知道日志文件里具体记录了什么内容。通常包括下载进度、连接信息、错误消息等。例如,开始下载的时间、文件大小、下载速度、是否成功完成,以及任何遇到的错误或重试的情况。这些都是用户可能需要查阅日志的原因,比如排查下载失败的问题。 此外,用户可能还会问如何查看或分析这个日志文件。可以用文本编辑器打开,或者使用命令行工具如cat、less等。同时,可以解释日志的结构,帮助用户理解里面的信息。比如,每一行可能包含时间戳、事件类型、详细信息等。 还需要注意,是否存在多个日志文件的情况。例如,当同时运行多个wget进程时,是否每个进程都会生成独立的日志文件,或者是否会覆盖之前的日志。这时候可能需要提醒用户在使用-o选项时指定不同的文件名,避免混淆。 最后,总结一下wget-log的作用和常见使用场景,帮助用户全面理解。确保回答结构清晰,分点说明,便于用户逐步理解。</think>### wget-log文件简介 **wget-log** 是命令行下载工具 `wget` 生成的日志文件,用于记录下载过程中的详细信息。以下是逐步说明: --- #### 1. **产生原因** - 当使用 `wget` 命令下载文件时,默认会将操作日志输出到终端。 - 若通过 `-o`(或 `--output-file`)参数指定日志文件,例如: ```bash wget -o wget-log https://example.com/file.zip ``` 所有下载信息(如进度、错误等)将保存到 `wget-log` 文件中。 --- #### 2. **文件内容** 日志通常包含以下信息: - **基础信息**:下载时间、目标URL、保存路径。 - **进度详情**:文件大小、已下载比例、传输速度。 - **连接状态**:重试次数、超时记录、服务器响应。 - **错误提示**:网络中断、文件不存在、权限问题等。 示例片段: ``` 2024-01-01 10:00:00 URL:https://example.com/file.zip [1024000/1024000] -> "file.zip" FINISHED --2024-01-01 10:00:05-- Downloaded: 1 files, 1MB in 5s (200 KB/s) ``` --- #### 3. **常见用途** - **调试下载问题**:通过日志定位失败原因(如404错误、连接超时)。 - **监控下载进度**:查看实时下载速度或剩余时间(需结合 `tail -f wget-log`)。 - **记录历史操作**:保留下载记录供后续审计。 --- #### 4. **注意事项** - **默认行为**:若未显式指定 `-o` 参数,`wget` 不会自动生成 `wget-log` 文件- **多任务冲突**:同时运行多个 `wget` 且指定相同日志文件名时,内容会被覆盖。 - **自定义路径**:可通过完整路径指定日志位置,例如: ```bash wget -o /var/log/my-wget.log https://example.com/file.zip ``` --- ### 总结 `wget-log` 是 `wget` 工具的日志文件,用于记录下载过程的详细信息,适用于问题排查和操作追踪。通过合理使用 `-o` 参数,可灵活控制日志的生成与存储。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值