ioerror

wget 사용법 및 옵션 - 웹 서버로부터 파일 다운로드 및 미러링을 수행하는 네트워크 유틸리티 본문

OS

wget 사용법 및 옵션 - 웹 서버로부터 파일 다운로드 및 미러링을 수행하는 네트워크 유틸리티

반응형

wget 사용법 및 옵션 - 웹 서버로부터 파일 다운로드 및 미러링을 수행하는 네트워크 유틸리티

wget - World Wide Web Get

HTTP, HTTPS, FTP, FTPS 프로토콜을 활용하여 웹 서버로부터 파일을 비대칭적으로 다운로드하는 비대화형(non-interactive) 커맨드 라인 프로그램이다. 네트워크 연결이 불안정하더라도 지속적인 재시도 및 이어받기 기능을 제공하며, 백그라운드 작업 및 사이트 재귀적 크롤링, 미러링 기능을 지원하다.

1. 명령어 용도

  • 웹 서버에서 각종 파일, 압축 패키지, 미디어 자원을 터미널 환경에서 직접 수신할 때 활용하다.
  • 다운로드 중 네트워크 끊김이 발생했을 때 중단된 지점부터 파일 수신을 재개하다.
  • 웹 사이트 전체 또는 특정 경로의 하위 링크를 탐색하여 오프라인 백업 미러를 구축하다.
  • 자동화 스크립트나 CI/CD 빌드 과정에서 사용자의 개입 없이 비대화형으로 외부 파일 리소스를 수집하다.

2. 명령어 서식

Bash
 
wget [option]... [URL]...

3. 명령어 옵션

  • 주요 옵션 소개 테이블
옵션 설명 사용가능 OS 및 쉘
-b, --background 다운로드 작업을 백그라운드 모드로 전환하다. [All Unix/Linux]
-c, --continue 부분적으로 수신된 파일의 이어받기를 수행하다. [All Unix/Linux]
-O FILE, --output-document=FILE 다운로드한 파일의 저장 이름이나 출력을 제어하다. [All Unix/Linux]
-P PREFIX, --directory-prefix=PREFIX 수신 파일이 저장될 로컬 디렉터리 경로를 지정하다. [All Unix/Linux]
-r, --recursive 웹 사이트의 하위 링크를 따라 재귀적으로 다운로드하다. [All Unix/Linux]
-l NUMBER, --level=NUMBER 재귀 탐색 시 최대 접근 깊이를 지정하다. [All Unix/Linux]
-k, --convert-links 수신 후 오프라인 로컬 탐색이 가능하도록 링크 경로를 변환하다. [All Unix/Linux]
-p, --page-requisites HTML 페이지를 구성하는 이미지, CSS 등의 요소를 함께 다운로드하다. [All Unix/Linux]
-m, --mirror 타임스탬핑과 재귀 설정을 포함한 사이트 미러링 모드를 작동시키다. [All Unix/Linux]
-q, --quiet 출력을 완전히 억제하고 조용히 실행하다. [All Unix/Linux]
--limit-rate=RATE 대역폭 독점을 방지하기 위해 다운로드 속도를 제한하다. [All Unix/Linux]
--user-agent=AGENT HTTP 요청 시 보낼 User-Agent 헤더 값을 변경하다. [All Unix/Linux]
--no-check-certificate HTTPS 보안 연결 시 SSL/TLS 인증서 검증을 무시하다. [All Unix/Linux]
--header=STRING 사용자 정의 HTTP 요청 헤더를 추가하다. [All Unix/Linux]
--spider 웹 상의 데이터 다운로드 없이 URL 유효성만 확인하다. [All Unix/Linux]
-i FILE, --input-file=FILE 파일에 기술된 URL 목록을 읽어 순차 다운로드하다. [All Unix/Linux]
  • 명령어 옵션 사용시 결과 예시
Bash
 
# 기본 단일 파일 다운로드 실행
wget https://example.com/data-archive.tar.gz
# --2026-08-09 13:00:00--  https://example.com/data-archive.tar.gz
# Resolving example.com (example.com)... 93.184.216.34
# Connecting to example.com (example.com)|93.184.216.34|:443... connected.
# HTTP request sent, awaiting response... 200 OK
# Length: 10485760 (10M) [application/x-gzip]
# Saving to: ‘data-archive.tar.gz’
# 
# data-archive.tar.gz 100%[===================>]  10.00M  5.20MB/s    in 1.9s    
# 
# 2026-08-09 13:00:02 (5.20 MB/s) - ‘data-archive.tar.gz’ saved [10485760/10485760]

출력 결과 항목에 대한 설명:

  1. Resolving: 도메인 이름을 IP 주소로 변환하는 DNS 조회 과정이다.
  2. Connecting: 해당 서버 IP의 포트에 TCP 연결을 수립하다.
  3. HTTP request sent: 서버로 전송한 요청에 대해 200 OK 응답 및 파일 크기 정보를 확인하다.
  4. Saving to: 로컬 파일 시스템에 저장되는 대상 파일 경로이다.
  5. Progress Bar: 전송 비율, 전송 속도, 남은 예상 시간을 보여주다.
Bash
 
# 이어받기(-c) 및 속도 제한(--limit-rate) 적용
wget -c --limit-rate=500k https://example.com/large-file.iso
# --2026-08-09 13:05:00--  https://example.com/large-file.iso
# Connecting to example.com... connected.
# HTTP request sent, awaiting response... 206 Partial Content
# Length: 1073741824 (1.0G), 536870912 (500M) remaining
# Saving to: ‘large-file.iso’
# 
# large-file.iso       50%[++++++++++--------] 500.00M   500KB/s    eta 17m 04s

4. 명령어 특이사항(유의사항)

  • 인증서 검증 오류 예외 처리: 보안 인증서가 자가 서명되었거나 만료된 HTTPS 환경에서는 TLS 핸드셰이크 단계에서 에러가 유발되다. 이러한 내부 서버 연결 시 --no-check-certificate 옵션을 지정하여 무시하고 다운로드를 진행하다.
  • 이어받기 기능 지원 여부: -c 옵션은 서버가 Accept-Ranges HTTP 헤더를 지원해야 정상 동작하다. 서버 측에서 해당 헤더를 제공하지 않을 경우 처음부터 다시 다운로드되다.
  • 403 Forbidden 응답 대응: 일부 서버나 Web Application Firewall(WAF)은 기본 Wget/x.x 식별자를 봇으로 간주하여 차단하다. 이 상황에서는 --user-agent="Mozilla/5.0..." 헤더를 설정하여 브라우저 요청으로 위장할 필요가 존재하다.
  • 사이트 재귀 탐색 무한 루프: -r 옵션 사용 시 링크 연결 구조에 따라 순환 참조나 무한 다운로드가 발생할 수 있다. 이에 대응하기 위해 탐색 깊이 제한(-l), 도메인 이탈 방지(--no-parent), 테스트 모드(--spider)를 사전에 확인하다.

관련 명령어들

  • curl: 다양한 프로토콜 데이터 전송 도구로 API 호출 및 파이프라인 연동에 주로 쓰이다.
  • aria2: 다중 소스 및 다중 스레드 지원 고속 파일 다운로드 유틸리티이다.
  • rsync: 증분 전송 및 디렉터리 동기화에 최적화된 파일 전송 전용 도구이다.
  • axel: 가볍고 빠르게 여러 소켓 연결을 형성하여 전송 속도를 높이는 가속 유틸리티이다.

https://ioerror.tistory.com/entry/UNIX-Linux-Command-Reference

 

UNIX & Linux Command Reference

유닉스 / 리눅스 명령어 표유닉스와 리눅스 환경에서 자주 사용되는 필수 명령어들을 완벽하게 정리한다. 서버 관리, 프로그래밍, 일상적인 시스템 운영 등 어떤 목적이든 터미널 환경을 능숙하

ioerror.tistory.com

 

 

 

반응형
Comments