Wget 완벽 정리

------------------------------------------------------------------
퍼온곳

http://www.coffeenix.net/board_view.php?cata_code=0&bd_code=168&bpage=&bd_search_type=all&bd_search=wget




------------------------------------------------------------------
오늘은 pbi12가 회사 출근하고 보니 왠지 Wget에게 고마운 일이 많아서 글을 정리 해본다.^^


                          간단한 팁들
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
먼저 간단한 팁으로는 하위 디렉토리를 긁는 옵션으로는
wget -r 주소
이렇게 모든 하위 디렉의 파일을 긁어 올수가 있다.

nohup wget -nv http://take.somewhere.org/really.tar.gz &
ftp도 되고 아주 심플하게 조용히 받습니다.
wgetrc 파일을 편집해서 시도 회수라든가 다양한 조건을 설정하고 bash와
더불어 쓴다면 꽤나 멋지게? 다운을 하겠죠.

wget -c filename
이렇게 하다 끊기면 다시 위 명령을 내려주면 받은데 부터 다시...

wget 명령과 비슷한 일을 하는 또다른 유사한 명령어가 있습니다.
사용 방법은...
bash # nc www.yahoo.com 80 <-- 접속포트번호 꼭 지정!
GET /index.html

...
...

-------------------------------------
이런식으로 검색합니다.
또 다른 사용방법 (한번에 끝내기..)

bash # echo 'GET /index.html' | nc -w 3 www.yahoo.com 80 [ENTER]
이것을 응용하면 ftp든 wget이든 cgi_execute든지 간에 맘데로 할수 있습니다.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                              Wget 한글 메뉴얼제작  - by pbi12
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

GNU Wget 1.7, a non-interactive network retriever.
그누 Wget 1.7 버젼, 대화창없이 네트워크에서 자료를 찾아오는 리트리버(사냥개)

Usage: wget [OPTION]... [URL]...
사용법: wget을 쓴후에 옵션을 적고 난후에 URL을 적으세요.

Mandatory arguments to long options are mandatory for short options too.
필수적인 긴 옵션의 변수는 필수적인 짧은 옵션을 적는것과 같다.  <-- (맞는말인지 -_-a )

Startup:

  -V,  --version           display the version of Wget and exit.
                           Wget의 버젼을 보여주고 종료 합니다.

  -h,  --help              print this help.
                           도움말을 보여줍니다.

  -b,  --background        go to background after startup.
                           시작한 후에 백그라운드에서 작동합니다.

  -e,  --execute=COMMAND   execute a `.wgetrc'-style command.
                           .wgetrc 라는 스타일의 명령을 실행합니다.


Logging and input file:

  -o,  --output-file=FILE     log messages to FILE.
                              메세지들을 파일로 남깁니다.

  -a,  --append-output=FILE   append messages to FILE.
                              메세지를 파일에 추가합니다.

  -d,  --debug                print debug output.
                              디버그 내용을 보여줍니다.

  -q,  --quiet                quiet (no output).
                              출력없이 종료함.

  -v,  --verbose              be verbose (this is the default).
                              다양함. 기본값입니다.

  -nv, --non-verbose          turn off verboseness, without being quiet.
                              기본옵션을 제거한다.

  -i,  --input-file=FILE      download URLs found in FILE.
                              다운받을 URL주소를 파일에서 찾습니다.

  -F,  --force-html           treat input file as HTML.
                              HTML 과 같은 파일을 입력값으로 취급합니다.

  -B,  --base=URL             prepends URL to relative links in -F -i file.
       --sslcertfile=FILE     optional client certificate.
       --sslcertkey=KEYFILE   optional keyfile for this certificate.
                              파일이나 링크에 관련한 URL, keyfile 을 사용하여 ssl을 증명한다.


Download:

       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local host.
                                로컬 호스트의 주소를 설정한다.
       
  -t,  --tries=NUMBER           set number of retries to NUMBER (0 unlimits).
                                설정한 숫자 만큼 다시 시도한다. 0은 무한대이다.

  -O   --output-document=FILE   write documents to FILE.
                                문서를 파일로 쓴다.

  -nc, --no-clobber             don't clobber existing files or use .# suffixes.
                                지나치게 파일이나 사용을 종료 하지 않는다.# 첨가.

  -c,  --continue               resume getting a partially-downloaded file.
                                부분적으로 파일을 이어 받을 수 있게 한다.
       --dot-style=STYLE        set retrieval display style.
                                복구 스타일로 설정한다.

  -N,  --timestamping           don't re-retrieve files unless newer than local.
                                로컬에 있는 것보다 새롭지 않으면 파일을 다시 받지 않는다.

  -S,  --server-response        print server response.
                                서버의 응답을 출력한다.
       --spider                 don't download anything.
                                다운로드를 하지 않는다.

  -T,  --timeout=SECONDS        set the read timeout to SECONDS.
                                종료될 시간을 초단위로 설정한다.

  -w,  --wait=SECONDS           wait SECONDS between retrievals.
       --waitretry=SECONDS      wait 1...SECONDS between retries of a retrieval.
                                검색하고 기다리는 시간을 초단위로 설정한다.

  -Y,  --proxy=on/off           turn proxy on or off.
                                프락시 모드를 켜고 끈다.

  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.
                                숫자 만큼 분담하도록 셋팅한다.

Directories:
  -nd  --no-directories            don't create directories.
                                   디렉토리를 생성하지 않는다.

  -x,  --force-directories         force creation of directories.
                                   디렉토리를 강제로 생성한다.

  -nH, --no-host-directories       don't create host directories.
                                   호스트 이름의 디렉토리를 생성하지 않는다.

  -P,  --directory-prefix=PREFIX   save files to PREFIX/...
                                   지정한 곳에 파일을 저장한다...
       --cut-dirs=NUMBER           ignore NUMBER remote directory components.
                                   디렉토리 구성요소를 숫자많큼 지우고 무시한다.


HTTP options:

       --http-user=USER      set http user to USER.
                             http 유저의 아이디를 설정한다.
       --http-passwd=PASS    set http password to PASS.
                             http의 패스워드의 암호를 설정한다.

  -C,  --cache=on/off        (dis)allow server-cached data (normally allowed).
                             서버측의 캐쉬 데이터를 허용하는게 보통이나, 제거 할수도 있다.

  -E,  --html-extension      save all text/html documents with .html extension.
                                             모든 text/html형식의 문서들과 .html 파일을 같이 확장해서 저장한다.
       --ignore-length       ignore `Content-Length' header field.
                                         Content-Length라는 헤더의 부분은 무시한다.
       --header=STRING       insert STRING among the headers.
                                                헤더들간의 사이의 글씨를 추가한다.
       --proxy-user=USER     set USER as proxy username.
                                                프락시의 유저이름을 설정한다.
       --proxy-passwd=PASS   set PASS as proxy password.
                                                   프락시 패스워드를 설정한다.
       --referer=URL         include `Referer: URL' header in HTTP request.
                                         http가 요청하는 헤더에서 URL참조한 것을 추가한다.

  -s,  --save-headers        save the HTTP headers to file.
                                             파일에서 HTTP 헤더를 저장한다.

  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.
                                                    Wget/Version 보다 나은 에이전트를 조사한다.
       --no-http-keep-alive  disable HTTP keep-alive (persistent connections).
                                             HTTP 의 Keep-alive 제거 (끈질기게 연결해준다.)
       --cookies=off         don't use cookies.
                                        쿠키사용 안함.
       --load-cookies=FILE   load cookies from FILE before session.
                                               쿠키를 세션전의 파일에서 불러온다.
       --save-cookies=FILE   save cookies to FILE after session.
                                                세션이후의 파일에서 쿠키를 저장한다.


FTP options:

  -nr, --dont-remove-listing   don't remove `.listing' files.
                                                  .listing 이라는 파일에 있는건 지우지 않는다.

  -g,  --glob=on/off           turn file name globbing on or off.
                                           하나의 파일 이름으로 하는지를 켜고 끈다.
       --passive-ftp           use the "passive" transfer mode.
                                         반응하지 않는 전송모드를 사용한다.
       --retr-symlinks         when recursing, get linked-to files (not dirs).
                                           복구중에 링크가 걸린 파일을 가져온다.(디렉토리는 아니다.)


Recursive retrieval:

  -r,  --recursive          recursive web-suck -- use with care!
                                     웹을 빨아들이는 것을 반복한다. 조심해서 사용하라!

  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).
                                             최대한 반복한다. 정도는 0 으로하면 헤아릴수 없이 반복한다.
       --delete-after       delete files locally after downloading them.
                                      그것들을 다 받으면 로컬의 파일들을 삭제 한다.

  -k,  --convert-links      convert non-relative links to relative.
                                        관계 없는 링크에서 관계있는 것으로 변환해준다.

  -K,  --backup-converted   before converting file X, back up as X.orig.
                                                변환하기 전에 X라는 파일을 X.orig 라는 파일로 백업해준다.

  -m,  --mirror             shortcut option equivalent to -r -N -l inf -nr.
                                     -r -N -l inf -nr 이라는 옵션과 동일한 옵션을 손쉽게 사용할 수 있다.

  -p,  --page-requisites    get all images, etc. needed to display HTML page.
                                             모든 이미지와 기타 HTML 페이지가 표현 가능한 모든것을 가져온다.


Recursive accept/reject:

  -A,  --accept=LIST                comma-separated list of accepted extensions.
                                                  받아들일 것을 확장하기 위해 콤마로 분리된 리스트로 받아들인다.

  -R,  --reject=LIST                comma-separated list of rejected extensions.
                                                  거절할 것을 확장하기 위해 콤마로 분리된 리스트로 받아들인다.

  -D,  --domains=LIST           comma-separated list of accepted domains.
                                                  받아들일 도메인을 콤마로 분리된 리스트로 받아들인다.
       --exclude-domains=LIST       comma-separated list of rejected domains.
                                                  거절할 도메인을 콤마로 분리된 리스트로 받아들인다.
       --follow-ftp                 follow FTP links from HTML documents.
                                            HTML 문서에서의 FTP 링크를 따라간다.
       --follow-tags=LIST           comma-separated list of followed HTML tags.
                                                    HTML 태그에서 따라갈 콤마로 분리된 리스트로 받아들인다.

  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML tags.
                                                       무시할 HTML 태그를 콤마로 분리된 리스트로 받아들인다.

  -H,  --span-hosts                 go to foreign hosts when recursive.
                                                   반복할때에 다른 호스트로도 가게 한다.

  -L,  --relative                   follow relative links only.
                                           관계있는 링크만 따라간다.

  -I,  --include-directories=LIST   list of allowed directories.
                                                          허용할 디렉토리를 리스트로 받아들인다.

  -X,  --exclude-directories=LIST   list of excluded directories.
                                                            차단할 디렉토리를 리스트로 받아들인다.

  -nh, --no-host-lookup             don't DNS-lookup hosts.
                                                      DNS의 검색 호스트를 사용하지 않는다.

  -np, --no-parent                  don't ascend to the parent directory.
                                                 상위 디렉토리를 올라가지 않도록 한다.

Mail bug reports and suggestions to <bug-wget@gnu.org>.
메일로 버그 리포트와 더나은 제안을 바랍니다.


----------------------------------------------------------------

wget 사용법2 wget 사용법2 wget 사용법2

1. Introduction

가끔씩 이 홈페이지는 자주 참고하는데 이를 내 컴퓨터에 옮겨놓고 싶다고 생각되는 경우가 있나? 이때 사용 할 수 있는 것이 바로 지금 소개하는 'wget'이다.하는 일은 MS 윈도우즈의 'Teleport Pro'라는 것과 비슷하다. 이 wget은 한텀상에서 커맨드라인으로 사용하는 것이다.

이 프로그램은 http://www.gun.org/software/wget/wget.html 에서 구할수 있다.

 

2. 설치(일반적으로 리눅스에는 거의 기본으로 깔려 있음)

#tar xvzf wget-5.3.1.tar.gz
#./configure
#make install

이라 하면 wget-5.3.1/src 디렉토리 내에 'wget'이라는 실행파일이 만들어 진다. 패스가 열려있는 디렉토리에 심볼릭 링크를 만들던가 쉘 스크립트를 만들어 넣어두면 어느 디렉토리에서도 이것을 실행시킬 수 있다.

 

3. 사용법

 #wget -h 또는 # man wget

하면 좀더 많은 설명을 볼수 있다. 먼저 예를 들어서 홈페이지 www.ihelpers.co.kr을 복사해 온다고 하면

 #wget http://www.ihelpers.co.kr/index.html

이라고 명령하면 된다. 'http://"는 생략해도 되고, 'index.html' 부분도 생략하면 알아서 'index.html' 또는 'index.htm'을 찾으므로

#wget www.ihelpers.co.kr/

라고 해도된다. 그러면 명령을 내린 현재 디렉토리에 'index.html'을 복사한다. 자 그러면 index.html에 링크 되어 있는 것까지 찾아오려면 어떻게 할까?

-r 이란 옵션을 사용한다.

 #wget -r www.ihelpers.co.kr/

이렇게 사용한다. 'r'은 '재귀적'을 의미하는 'recursive'의 줄임이다. 디렉토리 구조와 파일을 그대로 복사해 온다.

재귀적 탐색의 깊이 레벨은 기본값이 '5'로 되어 있다. '-l depth' 옵션을 사용하면 바꿀수 있다. 그러니까 기본값은 '-l 5' 란 이야기다. 이 레벨이 증가함에 따라 복사해오는 파일은 지수 함수적으로 증가하게 된다.

만약 홈페이지 전체가 아니라 특정 페이지와 링크되어 있는 것만 받아 오려면 어떻게 할까? 예를 들어

#wget -r www.ihelpers.co.kr/doc/lecture/lecture.html

이라고 하면 'lecture.html'과 이것에 링크된 파일들을 복사해 오게 된다. 이 과정에서 링크된 파일 중 상위 디렉토리에 있는 것도 있는데, 이것들은 빼고 원하는 파일이 있는 디렉토리와  그 이하에서만 받아 오려면

#wget -r -np www.ihelpers.co.kr/doc/lecture/lecture.html

이렇게 '-np' 옵션을 사용한다. 'np'는 'no-parent'를 의미한다.

자, 홈페이지에서 그림이나 오디오파일 등은 빼고 HTML 문서만 복사해오려고 한다면

#wget -r -np -A html, htm www.ihelpers.co.kr/

처럼 -'A'옵션을 사용한다. 'A'는 'accept'를 의미한다. 위의 예처럼 원하는 파일의 형식을 나열하면된다. 반대로 일부 파일을 제외하고 싶으면 '-R'옵션을 사용한다. 'R'은 'reject'를 의미한다. 예를 들어

#wget -r -R gif,jpg,jpeg www.ihelpers.co.kr/

라고 하면 파일의 뒷부분의 문자열이 'gif', 'jpg', 'jpeg'인 파일들은 제외하고 나머지 파일들만 불러 온다.

'-L'옵션을 사용하면 상대주소를 이용한 링크들만 불러온다. 다른 호스트에 있는 자료는 당연히 불러오지 않는다. 그런데 대부분의 HTML 내의 링크는 상대주소를 이용할 것으로 생각되기 때문에 크게 중요하지는 않을 것 같다. 'L'은 'leLative'를 의미한다. 아래의 예처럼 사용할 수 있다.

#wget -r -L www.ihelpers.co.kr/

만약 다른 호스트의 자료까지 재귀적 탐색에 넣으려면 'H'옵션을 쓴다. 이는 'span-hosts'를 의미한다.

wget을 실행시켜 보면 메세지가 장황하게 나온다. 메세지를 전혀 나오지 않게 하려면 'quiet'를 의미하는 '-q'옵션을 조금만 나오게 하려면 'non-verbose'를 의미하는 '-nv'옵션을 사용해라

wget은 파일을 불러올 때 컴퓨터 내에 같은 이름의 파일이 존재하면 기존의 파일은 그대로 두고 기존의 이름의 끝에 'roiginal.file.1', 'original.file.2', 이런 식으로 숫자를 붙인 이름으로 복사한다. 만약, 같은 이름이, 파일이 있을 경우 복사해 오지 않게 하려면 'not-clobber'를 위미하는 '-nc' 옵션을 사용하면 된다.

매번 같은 옵션을 커맨드라인에서 사용하기는 번거로울 것이다. 자신의 홈디렉토리에다 '.wgetrc'라는 파일을 만들고 필요한 옵션들을 기록하면 매번 옵션을 주지 않아도 된다.

예를 들면,

  • accept = htm, html        원하는 파일의 형식을 나열
  • #reject =                       배제하기를 원하는 파일의 형식을 나열
  • recursive = on              재귀적 탐색 여부
  • #reclevel = 5               

     

     

     

     

     

     

      재귀적 탐색의 깊이 레벨
  • no_parent = on             상위 디렉토리의 파일 배제의 여부
  • #relative_only = on        상대주소만 포함시킬 것인지의 여부
  • #verbose = on/off          자세한 설명을 표시할 것인지의 여부
  • span_host = on/off        다른 호스트도 탐색할 것인지의 여부
  • #noclobber = on/off       같은 이름의 파일을 복사해 오지 않을 것인지의 여부
  • #quiet = on/off                메세지를 전혀 보내지 않을 것인지의 여부

4. discussion(토론)

위에서 설명한 옵션을 잘 활용하면 홈페이지에 갱신되는 내용을 웹브라우저로 접근하지 않고서도 가져올 수 있다. 예를 들어, 만약 내가 잘 가는 무료 porn 사이트에 링크된 url에 올려져 있는 동영상을 보고 싶다고 하자. 다음과 같이 wget 명령을 사용한다.

 #wget -A mpg, mpeg, avi, asf -r -H -l 2 -nd -t 1 http://url.you.like

-A, -r, -H는 위에서 설명을 했고, 설명이 안된 옵션을 살펴보면
-l 2 : Recursive depth. 재귀 검색의 깊이 레벨을 지정해 준다. 2로 지정해 주면, 메인 페이지에서 url을 따라가고 그 url에 링크된 비디오 파일을 가져오도록 한다.
-nd : No directoryes. 로칼에 다운받을 때 디렉토리를 생성하지 않고 모든 파일을 같은 디렉토리 안에 넣는다.

출처 - http://blog.naver.com/soonhg/40024507911

출처 : Tong - 라제폰님의 시스템 / 서버구축통

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받고 있습니다.

이 포스팅은 제휴마케팅이 적용되어 작성자에게 일정액의 커미션이 제공될수 있습니다.

이 글을 공유하기

댓글

Designed by JB FACTORY

"웨딩박람회 일정 스드메 견적 웨딩플랜닷컴 "

주부알바 재택부업 앙팡펫파트너스

서민안심전환대출 ㅣ정부지원대출ㅣ채무통합대환대출