[Linux] curl, wget 사용법 정리

리눅스 환경에서 웹 서버와 통신하거나 파일을 다운로드할 때
가장 자주 쓰이는 도구가 curlwget입니다.
두 도구는 용도와 사용법이 겹치기도 하지만 각자 장단점이 있어 상황에 맞게 사용할 수 있습니다.

 

 

 

1. curl – 다재다능한 HTTP 클라이언트

curl은 URL을 이용해 HTTP(S) 요청을 보내고, 결과를 화면에 출력하거나 파일로 저장할 수 있는 강력한 도구입니다.

✔ GET 요청 (기본)

curl https://example.com

✔ 다운로드 후 파일로 저장

curl -o myfile.html https://example.com

✔ 리다이렉션 따라가기

curl -L https://short.url

✔ 헤더 출력

curl -I https://example.com

✔ POST 요청 보내기

curl -X POST -d "param1=value1&param2=value2" https://example.com/api

✔ 인증이 필요한 경우

curl -u username:password https://example.com/secure

 

 

 

2. wget – 파일 다운로드 특화 도구

wget은 파일이나 웹 페이지를 간단하게 다운로드할 때 유용합니다.
네트워크가 끊겼을 때 재시도나 이어받기 기능도 지원합니다.

✔ 기본 다운로드

wget https://example.com/file.zip

✔ 파일 이름 지정

wget -O myfile.zip https://example.com/file.zip

✔ 끊긴 다운로드 이어받기

wget -c https://example.com/largefile.iso

✔ 전체 웹사이트 mirror

wget --mirror -p --convert-links -P ./localdir https://example.com

위 명령은 사이트 전체를 로컬에 미러링하고, 링크도 로컬용으로 변환합니다.

 

 

3. curl vs wget – 언제 어떤 걸 쓰면 좋을까?

특징 curl wget
용도 API 테스트, HTTP 요청/응답 제어 파일/사이트 다운로드
재시도/이어받기 제한적 지원함
지원 프로토콜 매우 다양 (HTTP, FTP, SMTP 등) HTTP, FTP 중심
설치 여부 대부분 배포판에 기본 포함 많은 배포판에 기본 포함

 

 

상황에 맞게 선택하세요

간단히 파일을 다운로드할 땐 wget이 편리하고,
API 호출이나 다양한 HTTP 옵션이 필요할 때는 curl이 훨씬 유용합니다.