get 实用程序是从Internet下载文件的最佳选择。 get几乎可以处理所有复杂的下载情况,包括大文件下载,递归下载,非交互式下载,多个文件下载等,
在本文中,让我们回顾一下如何使用 get 使用15个很棒的wget示例的各种下载场景。
1. Download Single File with get
以下示例从Internet下载单个文件并将其存储在当前目录中。
$ get http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2
下载时,它会显示一个进度条,其中包含以下信息:
- 下载完成百分比(例如,如下所示为31%)
- 到目前为止已下载的字节总数(例如,如下所示的1,213,592字节)
- 当前下载速度(例如如下所示,为68.2K / s)
- 剩余下载时间(例如eta 34秒,如下所示)
正在下载:
$ get http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2 Saving to: `strx25-0.9.2.1.tar.bz2.1' 31% [=================> 1,213,592 68.2K/s eta 34s
下载完成:
$ get http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2 Saving to: `strx25-0.9.2.1.tar.bz2' 100%[======================>] 3,852,374 76.8K/s in 55s 2009-09-25 11:15:30 (68.7 KB/s) - `strx25-0.9.2.1.tar.bz2' saved [3852374/3852374]
2.使用wget -O下载并以其他文件名存储
默认情况下,wget将从最后一个正斜杠后的最后一个单词中选择文件名,这可能并不总是适用。
错误: 以下示例将下载并存储名称为以下文件的文件:download_script.php?src_id = 7701
$ get http://www.vim.org/scripts/download_script.php?src_id=7701
即使下载的文件是zip格式,也将如下所示存储在文件中。
$ ls download_script.php?src_id=7701
正确: 要更正此问题,我们可以使用-O选项将输出文件名指定为:
$ get -O taglist.zip http://www.vim.org/scripts/download_script.php?src_id=7701
3.使用wget指定下载速度/下载速率–limit-rate
在执行wget时,默认情况下它将尝试占用全部可能的带宽。当您在生产服务器上下载大文件时,这可能是不可接受的。因此,为避免这种情况,我们可以使用–限制率如下所示。
在以下示例中,下载速度限制为200k
$ get --limit-rate=200k http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2
4. Continue the Incomplete Download Using get -c
重新启动下载,该下载使用wget -c选项在中间停止,如下所示。
$ get -c http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2
当您启动了一个很大的文件下载,但该过程在中间被中断时,这将非常有用。您可以使用选项-c从被中断的地方开始下载,而不必重新开始整个下载。
注意: 如果在中间停止了下载,则在没有选项-c的情况下再次重新开始下载时,wget会自动将.1附加到文件名中,因为先前名称已经存在。如果已经存在.1的文件,它将在末尾下载.2的文件。
5. Download in the Background Using get -b
对于大型下载,请使用wget选项-b将下载置于后台,如下所示。
$ get -b http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2 Continuing in background, pid 1984. Output will be written to `wget-log'.
它将启动下载并向您返回shell提示。您始终可以使用tail -f检查下载状态,如下所示。
$ tail -f get-log Saving to: `strx25-0.9.2.1.tar.bz2.4' 0K .......... .......... .......... .......... .......... 1% 65.5K 57s 50K .......... .......... .......... .......... .......... 2% 85.9K 49s 100K .......... .......... .......... .......... .......... 3% 83.3K 47s 150K .......... .......... .......... .......... .......... 5% 86.6K 45s 200K .......... .......... .......... .......... .......... 6% 33.9K 56s 250K .......... .......... .......... .......... .......... 7% 182M 46s 300K .......... .......... .......... .......... .......... 9% 57.9K 47s
另外,请务必查看我们以前的 多尾条 有关如何有效使用tail命令查看多个文件的信息。
6.屏蔽用户代理并使用wget像浏览器一样显示wget–user-agent
某些网站可能会通过识别用户代理不是浏览器来禁止您下载其页面。因此,您可以使用来屏蔽用户代理–用户代理选项,并像浏览器一样显示wget,如下所示。
$ get --user-agent="Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3) Gecko/2008092416 Firefox/3.0.3" URL-TO-DOWNLOAD
7. Test Download URL Using get –spider
当您要进行预定下载时,您应该检查下载是否会在预定时间正常进行。为此,请完全从计划表复制行,然后添加–蜘蛛选项检查。
$ get --spider DOWNLOAD-URL
如果提供的网址正确,则会显示
$ get --spider 做wnload-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 链接s, but recursion is disabled -- not retrieving.
这样可以确保在预定的时间下载成功。但是,当您输入错误的URL时,会出现以下错误。
$ get --spider 做wnload-url Spider mode enabled. Check if remote file exists. HTTP request sent, awaiting response... 404 Not Found Remote file 做es not exist -- broken 链接!!!
您可以在以下情况下使用Spider选项:
- 安排下载之前进行检查。
- 监视网站是否在某些时间间隔可用。
- 检查书签中的页面列表,并找出哪些页面仍然存在。
8. Increase Total Number of Retry Attempts Using get –tries
如果Internet连接有问题,并且下载文件很大,则下载失败的可能性很大。默认情况下,wget重试20次以使下载成功。
如果需要,您可以使用以下方法增加重试次数–尝试选项,如下所示。
$ get --tries=75 DOWNLOAD-URL
9. 使用Wget -i下载多个文件/ URL
首先,将所有下载文件或URL存储在文本文件中为:
$ cat > 做wnload-file-list.txt URL1 URL2 URL3 URL4
接下来,使用-i选项将download-file-list.txt用作wget的参数,如下所示。
$ get -i 做wnload-file-list.txt
10. Download a Full 网站 Using get –mirror
以下是要下载完整网站并可供本地查看时要执行的命令行。
$ get --mirror -p --convert-links -P ./LOCAL-DIR WEBSITE-URL
- –镜像:打开适用于镜像的选项。
- -p:下载正确显示给定HTML页面所需的所有文件。
- –convert-links:下载后,转换文档中的链接以供本地查看。
- -P ./LOCAL-DIR:将所有文件和目录保存到指定目录。
11.使用wget下载时拒绝某些文件类型–reject
您找到了一个有用的网站,但不要’要下载图像,可以指定以下内容。
$ get --reject=gif WEBSITE-TO-BE-DOWNLOADED
12.使用wget -o将消息记录到日志文件而不是stderr
当您希望将日志重定向到日志文件而不是终端。
$ get -o 做wnload.log DOWNLOAD-URL
13.使用wget -Q超过特定大小时退出下载
当您希望下载超过5 MB时停止下载时,可以使用以下wget命令行。
$ get -Q5m -i FILE-WHICH-HAS-URLS
注意: 当您下载单个URL时,此配额不会生效。这与配额大小无关,当您指定一个文件时,所有内容都会下载。此配额仅适用于递归下载。
14. Download Only Certain File Types Using get -r -A
您可以在以下情况下使用此功能:
- 从网站下载所有图像
- 从网站下载所有视频
- 从网站下载所有PDF文件
$ get -r -A.pdf http://url-to-webpage-with-pdfs/
15. FTP Download With get
You can use get to perform FTP 做wnload as shown below.
使用Wget的匿名FTP下载
$ get ftp-url
使用带有用户名和密码身份验证的wget进行FTP下载。
$ get --ftp-user=USERNAME --ftp-password=PASSWORD DOWNLOAD-URL
如果您喜欢这篇文章, 请用美味或Stumble标记它。
如果您喜欢这篇文章,您可能还会喜欢..
![]() |
![]() |
![]() |
![]() |
真的很棒的指南’ll sure come handy.
玩得开心!