Computer >> 컴퓨터 >  >> 시스템 >> Linux

리눅스 wget 명령어로 웹사이트를 PC에 다운로드하는 방법 완벽 가이드

리눅스 wget 명령어로 웹사이트를 PC에 다운로드하는 방법 완벽 가이드

웹 브라우저 없이도 웹사이트를 통째로 내려받을 수 있다는 사실, 알고 계셨나요? 리눅스 명령줄의 강력한 기능을 활용하면 충분히 가능합니다. 이 작업을 수행하는 방법은 여러 가지가 있지만, 이 글에서는 그중에서도 가장 널리 쓰이는 wget에 집중해 살펴보겠습니다.

wget이란 무엇인가?

wget은 웹 서버에서 콘텐츠를 가져오는 GNU 명령줄 유틸리티입니다. 다운로더로서 그 자체만으로도 매우 강력하며, HTTP, HTTPS, FTP 등 다양한 프로토콜을 지원합니다. wget이 제공하는 주요 기능은 다음과 같습니다.

  • 조용한 모드(silent mode) 또는 백그라운드 실행 지원
  • 리눅스 셸 스크립트나 CRON 작업과 손쉽게 연동
  • 여러 개의 파일을 동시에 다운로드
  • 비밀번호가 필요한 파일도 다운로드 가능

왜 wget을 사용해야 할까?

웹 관련 작업을 처리할 수 있는 도구는 매우 많지만, wget은 그 활용 범위가 특히 넓습니다. 웹 브라우저 없이도 다음과 같은 작업을 수행할 수 있습니다.

  • 웹사이트 전체를 한 번에 복제
  • 사이트에서 특정 파일만 골라서 다운로드
  • 필요할 때마다 자동으로 파일을 가져오도록 예약·자동화
  • 인증이 필요한 포털에서 문서를 가져오기

또한 wget은 대부분의 리눅스 배포판에 기본으로 탑재되어 있기 때문에 별도의 설치 과정 없이 바로 사용할 수 있다는 장점도 있습니다.

wget 기본 사용법

wget 시작은 생각보다 훨씬 간단합니다. 먼저 리눅스 터미널을 열어주세요.

터미널 창이 열렸다면 아래와 같이 wget을 실행할 수 있습니다.

wget URL

"URL" 부분을 실제 다운로드하려는 웹사이트의 정확한 주소로 바꿔 입력하면 됩니다.

리눅스 wget 명령어로 웹사이트를 PC에 다운로드하는 방법 완벽 가이드

중간에 끊긴 다운로드를 이어서 받으려면 -c 옵션을 사용합니다.

wget -c URL

다운로드 과정을 화면에 표시하지 않고 조용히 진행하려면 -q 옵션을 추가하세요.

wget -q URL

옵션 사용법이 확실하지 않다면 아래 명령으로 도움말을 확인할 수 있습니다.

wget --help

웹사이트뿐 아니라 개별 파일도 wget으로 받을 수 있습니다. 예를 들면 다음과 같습니다.

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

이 경우 해당 파일을 그대로 가져와 현재 디렉터리에 저장합니다.

저장할 파일명이나 위치를 직접 지정하고 싶다면 -O 플래그를 사용하세요.

wget https://example.com/file.zip -O ~/Documents/my_downloaded_file.zip

FTP 옵션 활용하기

앞서 언급했듯이 wget은 FTP도 지원합니다. FTP 사이트 주소만 지정하면 됩니다.

wget ftp://ftp.example.com

이렇게 하면 wget은 익명(anonymous) 로그인을 시도합니다. 대신 사용자 이름과 비밀번호 등을 직접 지정하고 싶다면 아래 옵션들을 활용하세요.

  • --ftp-user=USER: 로그인에 사용할 사용자 이름 지정
  • --ftp-password=PASS: 로그인 비밀번호 지정
  • --no-passive-ftp: 패시브(passive) 전송 모드 비활성화

타임아웃, 재시도, 실패한 다운로드 처리

마지막으로 wget에는 서버 연결 문제나 타임아웃 상황에 대처할 수 있는 여러 옵션이 마련되어 있습니다. 물론 모든 오류를 해결할 수는 없지만, 아래 플래그들은 서버 문제 상황에서 큰 도움이 됩니다.

  • --tries=NUMBER: 다운로드 재시도 횟수 지정
  • --retry-connrefused: 서버가 연결을 거부해도 재시도 진행
  • --timeout=SECONDS: 전역 설정 — 타임아웃까지 대기할 시간(초)
  • --wait=SECONDS: 반복 다운로드 시 성공한 다운로드 사이의 대기 시간(초)

누가 wget을 활용할까?

이 글을 읽으면서 "생각보다 복잡하고 웹 브라우저를 쓰는 것보다 어려워 보인다"고 느낄 수 있습니다. 하지만 시스템 관리자든 프로그래머든 누구나 이 유틸리티를 유용하게 활용할 수 있습니다. 제가 일상 업무에서 이 명령어를 어떻게 사용하는지 두 가지 예를 소개합니다.

보안 연구원으로서의 활용: 이 명령을 예약 실행하여 여러 웹사이트를 한 번에 다운로드할 수 있어 업무가 한결 수월해집니다. 방법은 간단합니다. 아무 텍스트 편집기로 URL 목록이 담긴 텍스트 파일을 만들고(한 줄에 하나씩), 아래 명령에 -i 옵션을 붙여 실행하면 wget이 목록의 모든 사이트를 순서대로 다운로드합니다.

wget -i download_file_name URL

시스템 관리자로서의 활용: 비밀번호로 보호된 위치에서도 손쉽게 문서를 가져올 수 있습니다. 오프라인 환경에서는 도움이 되지 않을 수 있지만, wget을 실행하면 사이트 접속에 필요한 인증 정보를 함께 전달할 수 있습니다.

wget --user=user_id --password=user_password URL

지금까지 wget의 핵심 사용법을 살펴봤습니다. 생각했던 것보다 어렵지 않았나요? wget으로 작업을 자동화하면 시간을 절약할 수 있을 뿐 아니라 오프라인 환경에서도 자유롭게 작업할 수 있습니다. 잃을 것이 하나도 없는 셈이죠!

이 글이 도움이 되었다면 아래 댓글로 여러분의 경험과 의견을 공유해 주세요.