>  기사  >  운영 및 유지보수  >  Linux의 wget 명령에 대한 자세한 소개

Linux의 wget 명령에 대한 자세한 소개

黄舟
黄舟원래의
2017-06-02 10:16:521333검색

이 글에서는 주로 Linux의 wget 명령어를 자세히 소개하고 사용법을 알려드립니다. .wget에는 특정 참조 값이 있습니다. 관심 있는 친구가 참조할 수 있습니다.

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.centos.bz/download?id=1

다운로드한 파일이 zip 형식인데도 여전히 download.php?로 명령됩니다. 아이디=1080.
올바름: 이 문제를 해결하려면 -O 매개변수를 사용하여 파일 이름을 지정할 수 있습니다:

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

3 wget –limit -rate speedlimit download를 사용하세요.

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

백그라운드에서 계속 >, pid 1840.
출력은 `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!!!

다음 상황에서 스파이더 매개변수를 사용할 수 있습니다:

예약된 다운로드 전 확인
웹사이트 사용 가능 여부 확인 간격
웹사이트의 데드 링크 확인 페이지

8. wget –tries를 사용하여 재시도 횟수를 늘리세요

네트워크 문제가 있거나 대용량 파일을 다운로드하는 경우에도 실패할 수 있습니다. 기본적으로 wget은 파일 연결 및 다운로드를 20번 재시도합니다. 필요한 경우 --tries를 사용하여 재시도 횟수를 늘릴 수 있습니다.

wget –tries=40 URL

9. 여러 파일을 다운로드하려면 wget -i를 사용하세요.

먼저 다운로드 링크 파일을 저장하세요.

cat > href="http://www.php.cn/wiki/1059.html" target="_blank">목록.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

wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上。它有以下功能和特点:

(1)支持断点下传功能;这一点,也是网络蚂蚁和FlashGet当年最大的卖点,现在,Wget也可以使用此功能,那些网络不是太好的用户可以放心了;
(2)同时支持FTP和HTTP下载方式;尽管现在大部分软件可以使用HTTP方式下载,但是,有些时候,仍然需要使用FTP方式下载软件;
(3)支持代理服务器;对安全强度很高的系统而言,一般不会将自己的系统直接暴露在互联网上,所以,支持代理是下载软件必须有的功能;
(4)设置方便简单;可能,习惯图形界面的用户已经不是太习惯命令行了,但是,命令行在设置上其实有更多的优点,最少,鼠标可以少点很多次,也不要担心是否错点鼠标;
(5)程序小,完全免费;程序小可以考虑不计,因为现在的硬盘实在太大了;完全免费就不得不考虑了,即使网络上有很多所谓的免费软件,但是,这些软件的广告却不是我们喜欢的;

wget虽然功能强大,但是使用起来还是比较简单的,基本的语法是:wget [参数列表] URL。下面就结合具体的例子来说明一下wget的用法。

1、下载整个http或者ftp站点。 

wget http://place.your.url/here

这个命令可以将下载下来。使用-x会强制建立服务器上一模一样的目录,如果使用-nd参数,那么服务器上下载的所有内容都会加到本地当前目录。

wget -r http://place.your.url/here

这 个命令会按照递归的方法,下载服务器上所有的目录和文件,实质就是下载整个网站。这个命令一定要小心使用,因为在下载的时候,被下载网站指向的所有地址同 样会被下载,因此,如果这个网站引用了其他网站,那么被引用的网站也会被下载下来!基于这个原因,这个参数不常用。可以用-l number参数来指定下载的层次。例如只下载两层,那么使用-l 2。

要是您想制作镜像站点,那么可以使用-m参数,例如:wget -m http://place.your.url/here
这时wget会自动判断合适的参数来制作镜像站点。此时,wget会登录到服务器上,读入robots.txt并按robots.txt的规定来执行。

2、断点续传。
当文件特别大或者网络特别慢的时候,往往一个文件还没有下载完,连接就已经被切断,此时就需要断点续传。wget的断点续传是自动的,只需要使用-c参数,例如: 

wget -c http://the.url.of/incomplete/file

使用断点续传要求服务器支持断点续传。-t参数表示重试次数,例如需要重试100次,那么就写-t 100,如果设成-t 0,那么表示无穷次重试,直到连接成功。-T参数表示超时等待时间,例如-T 120,表示等待120秒连接不上就算超时。

3、批量下载。

如果有多个文件需要下载,那么可以生成一个文件,把每个文件的URL写一行,例如生成文件download.txt,然后用命令:wget -i download.txt
这样就会把download.txt里面列出的每个URL都下载下来。(如果列的是文件就下载文件,如果列的是网站,那么下载首页)

4、选择性的下载。

可以指定让wget只下载一类文件,或者不下载什么文件。例如: 

wget -m –reject=gif http://target.web.site/subdirectory

但是忽略gif文件。–accept=LIST 可以接受的文件类型,–reject=LIST拒绝接受的文件类型。

5、密码和认证。

wget只能处理利用用户名/密码方式限制访问的网站,可以利用两个参数:
–http-user=USER设置HTTP用户
–http-passwd=PASS设置HTTP密码
对于需要证书做认证的网站,就只能利用其他下载工具了,例如curl。

6、利用代理服务器进行下载。

如果用户的网络需要经过代理服务器,那么可以让wget通过代理服务器进行文件的下载。此时需要在当前用户的目录下创建一个.wgetrc文件。文件中可以设置代理服务器:

http-proxy = 111.111.111.111:8080 
ftp-proxy = 111.111.111.111:8080

分别表示http的代理服务器和ftp的代理服务器。如果代理服务器需要密码则使用:
–proxy-user=USER设置代理用户
–proxy-passwd=PASS设置代理密码
这两个参数。
使用参数–proxy=on/off 使用或者关闭代理。
wget还有很多有用的功能,需要用户去挖掘。

附录:

命令格式:
wget [参数列表] [目标软件、网页的网址]

-V,–version 显示软件版本号然后退出;
-h,–help显示软件帮助信息;
-e,–execute=COMMAND 执行一个 “.wgetrc”命令

-o,–output-file=FILE 将软件输出信息保存到文件;
-a,–append-output=FILE将软件输出信息追加到文件;
-d,–debug显示输出信息;
-q,–quiet 不显示输出信息;
-i,–input-file=FILE 从文件中取得URL;

-t,–tries=NUMBER 是否下载次数(0表示无穷次)
-O –output-document=FILE下载文件保存为别的文件名
-nc, –no-clobber 不要覆盖已经存在的文件
-N,–timestamping只下载比本地新的文件
-T,–timeout=SECONDS 设置超时时间
-Y,–proxy=on/off 关闭代理

-nd,–no-directories 不建立目录
-x,–force-directories 强制建立目录

–http-user=USER设置HTTP用户
–http-passwd=PASS设置HTTP密码
–proxy-user=USER设置代理用户
–proxy-passwd=PASS设置代理密码

-r,–recursive 下载整个网站、目录(小心使用)
-l,–level=NUMBER 下载层次

-A,–accept=LIST 可以接受的文件类型
-R,–reject=LIST拒绝接受的文件类型
-D,–domains=LIST可以接受的域名
–exclude-domains=LIST拒绝的域名
-L,–relative 下载关联链接
–follow-ftp 只下载FTP链接
-H,–span-hosts 可以下载外面的主机
-I,–include-directories=LIST允许的目录
-X,–exclude-directories=LIST 拒绝的目录

中文文档名在平常的情况下会被编码, 但是在 –cut-dirs 时又是正常的, 

wget -r -np -nH –cut-dirs=3 ftp://host/test/

测试.txt 

wget -r -np -nH -nd ftp://host/test/ 
%B4%FA%B8%D5.txt 
wget “ftp://host/test/*” 
%B4%FA%B8%D5.txt

由 於不知名的原因,可能是为了避开特殊档名, wget 会自动将抓取档名的部分用 encode_string 处理过, 所以该 patch 就把被 encode_string 处理成 “%3A” 这种东西, 用 decode_string 还原成 “:”,并套用在目录与档案名称的部分,decode_string 是 wget 内建的函式。

wget -t0 -c -nH -x -np -b -m -P /home/sunny/NOD32view/ http://downloads1.kaspersky-labs.com/bases/ -o wget.log

위 내용은 Linux의 wget 명령에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.