SW/리눅스

Linux : Wget 명령어 사용하는 방법, 예제

얇은생각 2020. 11. 2. 07:30
반응형

 GNU Wget은 웹에서 파일을 다운로드하기 위한 명령줄 유틸리티입니다. Wget을 사용하면 HTTP, HTTPS 및 FTP 프로토콜을 사용하여 파일을 다운로드할 수 있습니다. Wget은 여러 파일을 다운로드하고, 다운로드를 재개하고, 대역폭을 제한하고, 반복 다운로드하고, 백그라운드에서 다운로드하고, 웹 사이트를 미러링할 수 있는 다양한 옵션을 제공합니다.

 이 튜토리얼에서는 가장 일반적인 Wget 옵션에 대한 실제 예와 자세한 설명을 통해 Wget 명령 사용 방법을 보여드리겠습니다.

 

Linux : Wget 명령어 사용하는 방법, 예제

 

Wget 설치

wget 패키지는 현재 대부분의 Linux 배포 환경에 미리 설치되어 있습니다.

Wget 패키지가 시스템에 설치되어 있는지 확인하려면 콘솔을 열고 wget를 입력한 다음 Enter 키를 누릅니다. wget이 설치되어 있으면 시스템에서 wget: 누락된 URL을 인쇄하고 그렇지 않으면 wget 명령을 찾을 수 없습니다.

 wget가 설치되어 있지 않으면 distro의 패키지 관리자를 사용하여 wget을 쉽게 설치할 수 있습니다.

 

 

 

Wget을 Ubuntu 및 Debian 설치

sudo apt install wget

 

 

 

Wget를 CentOS 및 Fedora 설치

sudo yum install wget

 

 

 

 

Wget 명령 구문

wget 명령어 사용 방법에 대해 살펴보기 전에 먼저 기본 구문을 살펴보겠습니다.

wget 유틸리티 식은 다음과 같은 형식을 취합니다.

wget [options] [url]

 

 

option- Wget 옵션입니다.

url - 다운로드하거나 동기화할 파일 또는 디렉토리의 URL입니다.

 

 

 

Wget으로 파일을 다운로드하는 방법

아무 옵션 없이 사용할 경우 가장 간단한 양식에서 wget은 [url]에 지정된 리소스를 현재 디렉터리로 다운로드합니다.

다음 예에서는 Linux 커널 tar 아카이브를 다운로드합니다.

wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.17.2.tar.xz

 

 

 

위 이미지에서 볼 수 있듯이 Wget은 도메인의 IP 주소를 확인하는 것으로 시작한 다음 원격 서버에 연결하고 전송을 시작합니다.

다운로드 중에 Wget은 파일 이름, 파일 크기, 다운로드 속도 및 다운로드 완료 예상 시간과 함께 진행률 표시줄을 표시합니다. 다운로드가 완료되면 다운로드한 파일을 현재 작업 디렉토리에서 찾을 수 있습니다.

Wget의 출력을 끄려면 -q 옵션을 사용합니다.

파일이 이미 있는 경우 Wget은 파일 이름 끝에 .N(숫자)을 추가합니다.

 

 

 

Wget 명령을 사용하여 다운로드한 파일을 다른 이름으로 저장

다운로드한 파일을 다른 이름으로 저장하려면 -O 옵션 다음에 선택한 이름을 전달합니다.

wget -O latest-hugo.zip https://github.com/gohugoio/hugo/archive/master.zip

 

 

위 명령은 GitHub의 최신 휴고 zip 파일을 최신 휴고로 저장합니다.원래 이름 대신 zip을 사용합니다.

 

 

 

Wget 명령을 사용하여 특정 디렉토리에 파일을 다운로드

기본적으로 Wget은 다운로드한 파일을 현재 작업 디렉터리에 저장합니다. 파일을 특정 위치에 저장하려면 -P 옵션을 사용합니다.

wget -O latest-hugo.zip https://github.com/gohugoio/hugo/archive/master.zip

 

 

위 명령으로 우리는 Wget에게 Cent를 구하라고 말하고 있습니다.OS 7 ISO 파일을 /mnt/iso 디렉토리에 저장합니다.

 

 

 

Wget으로 다운로드 속도를 제한하는 방법

다운로드 속도를 제한하려면 --limit-rate 옵션을 사용합니다. 기본적으로 속도는 바이트/초 단위로 측정됩니다. k를 킬로바이트로, m을 메가바이트로, g를 기가바이트로 추가합니다.

다음 명령은 Go 바이너리를 다운로드하고 다운로드 속도를 1mb로 제한합니다.

wget -P /mnt/iso http://mirrors.mit.edu/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1804.iso

 

 

이 옵션은 사용 가능한 대역폭을 모두 사용하지 않으려는 경우에 유용합니다.

 

 

 

Wget으로 다운로드를 재개하는 방법

-c 옵션을 사용하여 다운로드를 재개할 수 있습니다. 이 기능은 대용량 파일을 다운로드하는 동안 연결이 끊긴 경우 유용하며 처음부터 다운로드를 시작하는 대신 이전 파일을 계속할 수 있습니다.

다음 예에서는 Ubuntu 18.04 ISO 파일의 다운로드를 재개합니다.

wget -c http://releases.ubuntu.com/18.04/ubuntu-18.04-live-server-amd64.iso

 

 

원격 서버가 다운로드 재개를 지원하지 않는 경우 Wget은 처음부터 다운로드를 시작하고 기존 파일을 덮어씁니다.

 

 

 

Wget로 백그라운드에서 다운로드하는 방법

백그라운드에서 다운로드하려면 -b 옵션을 사용합니다. 다음 예에서는 백그라운드에서 OpenSuse ISO 파일을 다운로드하고 있습니다.

wget -b https://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso

 

 

기본적으로 출력은 현재 디렉토리의 wget-log 파일로 리디렉션됩니다. 다운로드 상태를 보려면 tail 명령을 사용합니다.

tail -f wget-log

 

 

 

Wget의 Wget User-에이전트를 변경하는 방법

경우에 따라 파일을 다운로드할 때 Wget User-에이전트를 차단하도록 원격 서버를 설정할 수 있습니다. 이런 경우 다른 브라우저를 에뮬레이트하려면 -U 옵션을 통과합니다.

wget --user-agent="Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0" http://wget-forbidden.com/

 

 

위 명령은 wget-forbidden.com에서 페이지를 요청하는 Firefox 60을 에뮬레이트합니다.

 

 

 

Wget으로 여러 파일을 다운로드하는 방법

여러 파일을 한 번에 다운로드하려면 -i 옵션 다음에 다운로드할 URL 목록이 포함된 로컬 또는 외부 파일의 경로를 사용합니다. 각 URL은 별도의 줄에 있어야 합니다.

다음 예에서는 Linux-distros에 지정된 URL을 사용하여 Arch Linux, Debian 및 Fedora ISO 파일을 다운로드합니다.txt 파일은 다음과 같습니다.

wget -i linux-distros.txt

# http://mirrors.edge.kernel.org/archlinux/iso/2018.06.01/archlinux-2018.06.01-x86_64.iso
# https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-9.4.0-amd64-netinst.iso
# https://download.fedoraproject.org/pub/fedora/linux/releases/28/Server/x86_64/iso/Fedora-Server-dvd-x86_64-28-1.1.iso

 

 

-를 파일 이름으로 지정하면 표준 입력에서 URL이 읽힙니다.

 

 

 

Wget 명령을 사용하여 FTP를 통해 다운로드

암호로 보호된 FTP 서버에서 파일을 다운로드하려면 아래 그림과 같이 사용자 이름과 암호를 지정합니다.

wget --ftp-user=FTP_USERNAME --ftp-password=FTP_PASSWORD ftp://ftp.example.com/filename.tar.gz

 

 

 

Wget 명령을 사용하여 웹 사이트의 미러 생성

Wget로 웹 사이트의 미러를 만들려면 -m 옵션을 사용합니다. 그러면 모든 내부 링크와 웹 사이트 리소스(JavaScript, CSS, 이미지)를 팔로잉 및 다운로드하여 웹 사이트의 전체 로컬 복사본이 만들어집니다.

wget -m https://example.com

 

 

다운로드한 웹 사이트를 로컬 검색에 사용하려면 위의 명령에 몇 개의 인수를 추가로 전달해야 합니다.

wget -m -k -p https://example.com

 

 

-k 옵션을 사용하면 Wget은 다운로드한 문서의 링크를 로컬 보기에 적합하도록 변환합니다. -p 옵션은 HTML 페이지를 표시하는 데 필요한 모든 파일을 다운로드하라는 메시지를 표시합니다.

 

 

 

Wget을 사용하여 인증서 확인을 건너뛰는 방법

잘못된 SSL 인증서가 있는 호스트에서 HTTPS를 통해 파일을 다운로드하려면 --no-check-certificate 옵션을 사용합니다.

wget --no-check-certificate https://domain-with-invalid-ss.com

 

 

 

Wget을 사용하여 표준 출력에 다운로드하는 방법

다음 예에서 Wget은 최신 WordPress 버전을 다운로드하여 출력하고(플래그 -O -) tar 유틸리티로 파이핑하여 아카이브를 /var/ww 디렉토리에 추출합니다.

wget -q -O - "http://wordpress.org/latest.tar.gz" | tar -xzf - -C /var/www

 

 

 

결론

Wget를 사용하면 여러 파일을 다운로드하고 부분 다운로드를 재개하며 웹 사이트를 미러링하고 필요에 따라 Wget 옵션을 결합할 수 있습니다. Wget에 대해 자세히 알아보려면 GNU wget Manual 페이지를 방문하세요.

반응형