| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |
Tags
- linux
- 사용자관리
- 리눅스
- 명령어
- 리눅스명령어
- environment
- 시스템관리
- cups
- 자바스크립트
- php
- terminal
- PackageManagement
- 터미널
- shell
- js
- 쉘스크립트
- 정규표현식
- UnixCommand
- 파일시스템
- bash
- JavaScript
- coreutils
- UNIX
- Unix명령어
- 유닉스명령어
- Solaris
- tcsh
- sysadmin
- linuxcommand
- 유닉스
Archives
- Today
- Total
ioerror
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]
출력 결과 항목에 대한 설명:
- Resolving: 도메인 이름을 IP 주소로 변환하는 DNS 조회 과정이다.
- Connecting: 해당 서버 IP의 포트에 TCP 연결을 수립하다.
- HTTP request sent: 서버로 전송한 요청에 대해 200 OK 응답 및 파일 크기 정보를 확인하다.
- Saving to: 로컬 파일 시스템에 저장되는 대상 파일 경로이다.
- 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
반응형
'OS' 카테고리의 다른 글
| whereis 사용법 및 옵션 - 명령어의 실행 파일, 소스, 매뉴얼 페이지 위치 검색 (0) | 2026.08.09 |
|---|---|
| where 사용법 및 옵션 - 지정한 명령어가 존재하는 모든 경로 및 별칭 위치를 검색하는 Shell 내장 명령어 (0) | 2026.08.09 |
| wc 사용법 및 옵션 - 텍스트 파일의 줄, 단어, 바이트, 문자 수를 계산하는 명령어 (0) | 2026.08.09 |
| wall 사용법 및 옵션 - 시스템의 모든 접속 사용자에게 브로드캐스트 메시지 전송 (0) | 2026.08.09 |
| w 사용법 및 옵션 - 현재 접속 중인 사용자 목록 및 작업 현황 확인 (0) | 2026.08.09 |
Comments