간혹 자주 들리는 홈페이지를 내 컴퓨터에 옮겨놓고 빠르고 편리하게 사용하고 싶을 때가 있을 것이다. 또는 웹브라우저 없이 간단히 파일만 내려받기를 원할 때가 있을 것이다.
윈도우즈에서는 webzip 과 같은 유틸리티로 가능하지만 리눅스는 wget 이라는 프로그램으로 쉽고 빠르게 웹페이지나 파일을 내려받을 수 있다.
wget 프로그램이 없을때는 GNU wget 에서 다운로드 해서 설치하면 된다. 하지만 레드햇 계열에서는 대부분 RPM 패키지로 제공되고 있으므로 간단히 설치할 수 있다.
1. 참고링크 [Bottom] [Top]
2. 다운로드 [Bottom] [Top]
3. wget 사용하기 [Bottom] [Top]
3.1. 일반적인 형식 [Bottom] [Top]
예를들어 www.hitel.net/~myname 를 다운로드 한다면
# wget http://www.hitel.net/~myname/index.html
과 같이 실행한다. http:// 는 생략 가능하며 index.html 도 생략하다. 그리고 생략시 자동으로 index.html 또는 index.htm 을 찾아서 다운로드 한다. 따라서 다음과 같이 실행 가능하다.
# wget www.hitel.net/~myname/
3.2. 링크된 파일 내려받기 [Bottom] [Top]
다음과 같이 실행하면 현재 디렉토리에 index.html 을 다운로드하며 index.html 에 링크되어 있는 파일까지 다운로드 한다. 이때 -r 옵션 (Recursive) 을 사용한다.
# wget -r www.hitel.net/~myname/
-r 옵션을 사용하면 디렉토리 구조와 파일을 그대로 복사한다.
3.3. 탐색 깊이 설정하기 [Bottom] [Top]
'-r' 옵션을 사용하면 재귀적 탐색으로 파일과 디렉토리를 찾으며 -l 옵션 (Level) 으로 탐색 깊이를 설정할 수 있다. 기본값은 5 이며, -l depth 과 같은 형식으로 탐색 깊이를 설정한다.
# wget -r -l 5 www.hitel.net/~myname/
위의 예는 기본값과 동일한 설정이다.
3.4. 하위 디렉토리 링크만 내려받기 [Bottom] [Top]
만약 다음과 같이 홈페이지 전체가 아니라 특정 페이지와 링크되어 있는 것만 받는다면
# wget -r www.hitel.net/~myname/doc/lecture/lecture.html
과 같이 실행한다. 그러나 lecture.html 에 상위 디렉토리에 대한 링크도 있다면 모두 다운로드하게 된다. 따라서 하위 디렉토리 링크만 받고 싶다면 -np 옵션 (No-Parent) 을 설정한다.
# wget -r -np www.hitel.net/~myname/doc/lecture/lecture.html
3.5. 특정 파일 내려받기 [Bottom] [Top]
그림이나 오디오파일 등을 제외한 HTML 문서만 다운로드 해야할 경우가 있다. 이때 다음과 같이 -A 옵션 (Accept) 을 사용한다.
# wget -r -np -A html,htm www.hitel.net/~myname/
또한 -R 옵션 (Reject) 은 특정 파일을 제외한 링크만 다운로드 한다. 예를들어 그림 파일을 제외한 링크만 다운로드 할 경우
# wget -r -R gif,jpg,jpeg www.hitel.net/~myname/
과 같이 실행한다.
3.6. 호스트에 대한 옵션 [Bottom] [Top]
-L 옵션 (reLative) 을 사용하면 상대주소를 이용한 링크만 다운로드 한다. 따라서 다른 호스트에 대한 링크는 다운로드하지 않는다.
# wget -r -L www.hitel.net/~myname/
만약 다른 호스트의 자료까지 재귀적 탐색의 대상에 넣으려면 -H 옵션 (span-Hosts) 을 사용한다.
4. 기타 옵션 [Bottom] [Top]
- 메세지 출력하지 않기
wget 을 실행시키면 여러가지 메세지가 복잡하게 출력된다. 이때 -q 옵션 (quiet) 을 사용하면 메세지가 출력되지 않는다.
- 간략한 메세지 출력하기
'-q' 옵션은 메세지가 전혀 출력되지 않지만 -nv 옵션 (non-verbose) 은 간략한 메세지를 출력한다.
- 중복된 파일 내려받지 않기
wget 은 파일을 다운로드할 때 같은 이름의 파일이 존재하면 기존의 파일은 그대로 두고 기존의 이름의 끝에 original.file.1, original.file.2, ... 과 같은 형식으로 숫자를 붙여서 다운로드 한다. 하지만 같은 이름의 파일이 있을 경우 다운로드 하지 않도록 하기 위해서는 -nc 옵션 (not-clobber) 을 사용하면 된다.
5. 설정 파일 이용하기 [Bottom] [Top]
매번 같은 옵션을 커맨드라인에서 사용하기에 번거로울 경우가 많다. 이때 홈 디렉토리에 .wgetrc 라는 설정 파일을 만들면 편리하게 사용할 수 있다. 간단히 다음과 같이 예를 들 수 있다.
accept = htm,html # 다운로드할 파일 형식 # reject = # 제외할 파일 형식 recursive = on # 재귀적 탐색 설정 # reclevel = 5 # 재귀적 탐색 깊이 no_parent = on # 하위 디렉토리만 다운로드 # relative_only = on # 상대 주소만 탐색할 것인지 설정 span_hosts = on/off # 다른 호스트도 탐색할 것인지 설정 # quiet = on/off # 메세지 출력 금지 # verbose = on/off # 간략한 메세지만 출력 # noclobber = on/off # 중복된 파일 다운로드 금지
