wget

  • 웹 서버로부터 파일을 가져오는 데 사용되는 명령줄 유틸리티
  • 웹 서버에 원하는 파일을 요청하고, 그 파일을 지정한(혹은 현재) 디렉터리에 저장한다.
  • 통신 프로토콜로는 HTTP, HTTPS, FTP를 지원한다.
  • GNU 프로젝트의 일부이다.
  • 이름은 World Wide Web + get 의 합성어이다.

기본 사용 방법

1
2
3
4
5
6
7
8
# 기본 사용법  
wget [option] [URL]

# 예시  
wget http://example.com/data.txt
wget https://secure-site.com/private_info.zip
wget ftp://ftp.gnu.org/pub/gnu/wget/wget-latest.tar.gz
wget --user=myuser --password=mypassword ftp://myftpserver.com/uploads/myreport.pdf

옵션

옵션 명칭 설명 예시
-c --continue 중단도딘 다운로드 재개 wget -c http://example.com/a.txt
-O --output-document 다운로드 파일을 다른이름으로 저장 wget -O abc.txt http://example.com/a.txt
-r recursive 재귀적 다운로드  
-b --background 다운로드를 백그라운드에서 실행 wget -b http://example.com/a.txt
-m --mirror 웹사이트 완벽 복제(미러링) wget -m http://example.com
  --limit-rate 다운로드 속도 제한 wget –limit-rate=50k http://example.com/a.txt
  • 그 외에도 여러 옵션들이 있음

통신 프로토콜의 선택

  • 통신 프로토콜은 클라이언트에서 요청할 때 정할 수 있다.
  • URL 맨 앞 부분, http:// https:// ftp:// 와 같은 스키마에 따라 프로토콜이 결정된다.
  • 만약 URL이 ftp://로 시작하면, wget은 FTP 프로토콜에 맞춰 연결을 시도한다.

wget과 통신프로토콜의 관계

프로토콜들

프로토콜 설명 OSI 계층
FTP 파일 전송을 위한 프로토콜 7
HTTP 웹에서 하이퍼텍스트(HTML)를 전송하기 위한 프로토콜 7
HTTPS HTTP에 보안 기능(SSL/TLS)이 추가된 프로토콜 7

wget과 프로토콜의 관계

  • wget은 위와 같은 응용 계층(7)의 프로토콜을 사용하는 클라이언트 프로그램
  • 즉 wget은 웹 서버와 통신해 파일을 다운로드하는 도구이며
  • 이 도구는 7계층에서 정의된 프로토콜을 활용한다.

wget을 사용하는 이유

  • 비대화형 다운로드 : 백그라운드에서 실행할 수 있으므로, 사용자가 터미널에서 로그아웃해도 다운로드가 계속됨
  • 다운로드 재개 : 네트워크 연결이 끊어졌을 때 중단된 지점부터 이어서 받을 수 있음
  • 재귀적 다운로드 : -r 옵션을 이용해 재귀적으로 다운로드하여 미러링할 수 있음

Comments