* 이 글은 유닉스 관련 운영체제의 경험이 별로 없는 사람을 위한 wget 의 간단한 지침서입니다.
1. wget ?

코맨드 라인에서 파일 다운로드를 쉽게 할 수 있는 유틸리티이다. 요즘의 대부분의 리눅스 배포판에는 기본적으로 설치되어 있다.

2. Windows 버전의 wget

* win32 에서 사용가능한 바이너리도 존재한다. 여기를 참조.

- 위의 바이너리를 다운로드하고 윈도우 환경변수에서 PATH에 잡혀 있는 폴더로 복사해 둔다.
- "어떻게 윈도우에서 PATH를 잡나요?" 라고 생각하시는 분이라면 여기를 참조할 것.
- "PATH가 뭐지요?" 라고 생각하는 분이라면 걍 C:Windows 폴더로 복사한다. -.-;;;

3. 기본적인 사용법
 
- PATH가 걸린 상태에서 '명령 프롬프트' 를 부르고 'wget' 을 입력한다.
* 보다 명령 프롬프트를 쉽게 사용하려면 여기를 참조.

- "wget --help" 라고 하면 사용할 수 있는 옵션이 출력된다.

4. 중요한 옵션 및 사용예
 
- r : 지정된 디렉토리의 하위 디렉토리의 내용을 몽땅 다운로드한다.

사용예 : wget -r ftp://ftp.ncbi.nlm.nih.gov/blast/db/
설명 : 이렇게 하면 ftp://ftp.ncbi.nlm.nih.gov/blast/db/ 의 디렉토리 구조를 유지한 채로 모든 파일을 불러온다.

- nd : 디렉토리를 만들지 않는다. 계층적으로 나열된 웹 사이트의 디렉토리의 내용을 한 디렉토리로 불러올 때 편리하다. -r 옵션과 같이 사용하면 매우 유용하다.

사용예 : wget -nd -r ftp://ftp.ncbi.nlm.nih.gov/blast/db/
설명 : 이렇게 하면 ftp://ftp.ncbi.nlm.nih.gov/blast/db/  내의 내용물을 현재 폴더에 몽땅 다운로드받는다.

-A, --accept=: 지정된 확장자의 파일만을 받아온다.

사용예 : wget -nd -r --accept=fna ftp://ftp.ncbi.nlm.nih.gov/genomes/Bacteria/

설명 : 이렇게 하면 ftp://ftp.ncbi.nlm.nih.gov/genomes/Bacteria 에서 확장자가 .fna 인 파일만을 받아서 현재 디렉토리에 저장한다. (물론 -nd 옵션을 빼면 폴더 구조가 그대로 유지된다)

-R, --reject=: 지정된 확장자의 파일만을 빼고 받아온다.

사용예 : wget -nd -r --accept=fna ftp://ftp.ncbi.nlm.nih.gov/genomes/Bacteria/

설명 : 이렇게 하면 ftp://ftp.ncbi.nlm.nih.gov/genomes/Bacteria 에서 확장자가 .fna 인 파일만 빼고 받아서 현재 디렉토리에 저장한다.

-l , --level= : -r 옵션, 즉 하위 디렉토리 받아오기를 사용하였을 때 다운로드받을 최대 단계를 지정할 때 사용한다.

사용예 : wget -nd -r --accept=fna --level=3 ftp://ftp.ncbi.nlm.nih.gov/genomes/Bacteria/
설명 : ftp://ftp.ncbi.nlm.nih.gov/genomes/Bacteria 에서 확장자가 .fna 인 파일만 빼고 받고 3단계까지 거슬러 올라서 다운로드를 수행한다.

-N : 현재 다운로드 받을 위치에 있는 파일이 현재 내 하드에 있는 파일보다 새로운 파일일때만 다운로드를 수행한다

-m : 미러 명령. 즉, 특정한 웹사이트의 내용을 그대로 폴더 구조채 긁어오되, 새로 업데이트한 내용만을 다운받고 싶을 때 사용한다.

ftp id, password 지정 : wget ftp://id:password@website


이런 식으로 id와 password를 지정하면 된다

이 정도면 많이 사용하는 옵션에 대해서는 설명했을 것이다. 기타 명령어에 대해서는 wget --help 를 입력하면 자세한 설명이 나와 있다.

5. 기타
 
- 쉘 스크립트나 배치 파일을 이용하여 자동화하면 매우 편리하다.

가령 유닉스 계열이라면

#!/bin/bash
wget -nd -r ftp://id:password@website/$1/
.
.
.

과 같은 식으로 간단한 쉘 스크립트를 작성하여 적당한 이름으로 저장한 후, Path가 걸린 위치에 넣고 실행 권한 (chmod +x <파일이름>) 을 주면 매우 편리하다.

윈도우라면

echo off
wget -nd -r  ftp://id:password@website/%1/
.
.
.

과 같은 식으로 배치 파일을 만들고 *.bat 으로 저장한다.

- 도스 시절부터 PC를 이용해 온 사람이라면 배치 파일에 대해서 잘 알고 있겠지만, 그렇지 않은 사람은 여기 를 참조해 보기를. 사실 유닉스 계열의 쉘 스크립트만큼 강력하지는 않고,윈도우 자체가 GUI 환경 위주의 운영체계이긴 하지만 그래도 어느 정도 수준의 일은 윈도우에서도 처리 가능하다. 사실 Win98 같은 구닥다리 말고 NT 계열의 운영체제 (NT, 2000, XP) 는 결코 널럴하게 만들어진 운영 체제는 아니다. 아마도  NT 계열 MS 운영체제가 유닉스 계열에 대해서 가지는 가장 큰 약점은 '유저의 평균수준' 일지도 모른다. -.-;;

2011/09/05 00:59 2011/09/05 00:59

Trackback Address :: 이 글에는 트랙백을 보낼 수 없습니다