Computer >> 컴퓨터 >  >> 프로그램 작성 >> BASH 프로그래밍

Linux wget 명령 가이드 [예제 포함]

Magic Mirror 튜토리얼을 따랐다면 wget 명령이 일부 파일을 다운로드하는 데 사용되었습니다.

이 튜토리얼에서는 wget을 사용하는 방법을 설명합니다. , HTTP, HTTPS, FTP 또는 FTPS를 통해 웹에서 파일을 다운로드(가져오기)하기 위한 명령줄 도구입니다.

Linux 셸에서 인터넷에서 파일을 다운로드하는 데 사용하고 Bash 스크립트에서 호출합니다. – 간단하고 다재다능하며 백그라운드에서 실행할 수 있도록 시작되면 사용자 간섭이 필요하지 않습니다.

구문

wget [OPTIONS]... [ URLS ]...

참고:

  • 옵션 공백으로 구분된 아래 표에서 애플리케이션에 전달할 수 있는 옵션 목록입니다.
  • URL 공백으로 구분된 다운로드할 URL 목록입니다.

다음은 wget입니다. 문서에서 바로 옵션:

<일>
공통 옵션
-o 로그 파일 모든 메시지를 로그 파일에 기록 . 메시지는 일반적으로 표준 오류로 보고됩니다.
-a 로그 파일 로그 파일에 추가 . 이것은 -o와 동일하지만 이전 로그 파일을 덮어쓰는 대신 로그 파일에 추가할 뿐입니다. 로그 파일이 없으면 새 파일이 생성됩니다.
-q Wget의 출력을 끕니다.
-i 파일 로컬 또는 외부 파일에서 URL 읽기 . 이 기능을 사용하면 명령줄에 URL이 없어도 됩니다.
-t 숫자 재시도 횟수를 숫자로 설정 .
-c 부분적으로 다운로드된 파일을 계속 가져옵니다.
-T  네트워크 시간 초과를 로 설정 초.
-w  지정된 시간 동안 기다립니다. 검색 사이.
–user=사용자 HTTP 또는 FTP 인증 사용자 이름을 설정합니다.
–password=비밀번호 HTTP 또는 FTP 인증 비밀번호를 설정합니다.
–post-data=문자열 GET 대신 POST 요청을 하고 데이터를 보냅니다. 문자열 "key1=value1&key2=value2" 형식이어야 합니다.
-r 재귀 검색을 켭니다.
-l 깊이 재귀 최대 깊이 수준 깊이를 지정합니다. 기본 최대 깊이는 5입니다.
-m 미러링에 적합한 옵션을 켭니다. 이 옵션은 재귀 및 타임 스탬프를 켜고 무한 재귀 깊이를 설정하며 FTP 디렉토리 목록을 유지합니다.
-p 이 옵션은 Wget이 주어진 HTML 페이지를 올바르게 표시하는 데 필요한 모든 파일을 다운로드하도록 합니다. 여기에는 인라인 이미지, 사운드, 참조된 스타일시트 등이 포함됩니다.

예시

HTTPS 서버에서 파일 다운로드

단일 파일 다운로드, 기본 사용법:

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

파일 다운로드 계속

다운로드가 부분적으로만 완료된 경우 -c를 사용하여 다운로드를 계속/재개합니다. 옵션:

wget -c https://www.example.com/file.zip

파일 목록에서 다운로드, 로그에 추가

다운로드할 URL 목록이 포함된 텍스트 파일이 있는 경우 wget에 직접 전달하고 나중에 검사할 수 있도록 결과 로그를 작성할 수 있습니다.

wget -a log.txt -i url-list.txt

-o를 사용하여 로그 파일을 작성할 수도 있으며, 기존 로그 파일이 이미 있는 경우 추가하지 않고 덮어씁니다.

파일 다운로드, 조용히 5회 재시도

파일 다운로드를 다시 시도하고 진행 상황을 터미널에 인쇄하지 마십시오:

wget -t 5 -q https://www.example.com/file.zip

파일 목록에서 다운로드, 각 다운로드 사이에 6초 대기, 12초 제한 시간

다운로드 사이에 대기하여 서버 로드를 줄이고 서버가 12초 이내에 응답하지 않으면 중단:

wget -w 6 -T 12 -i url-list.txt

사용자 이름과 암호가 필요한 FTPS 서버에서 파일 다운로드

사용자 이름이 bob인 FTPS 서버에서 다운로드 및 비밀번호 보트 :

wget --user=bob --password=boat ftps://ftp.example.com/file.zip

POST 요청이 있는 파일 다운로드

기본 GET 요청 대신 HTTP POST 요청을 하고 데이터를 보냅니다. –post-data와 함께 빈 문자열을 보낼 수 있습니다. :

wget --post-data="postcode=2000&country=Australia" https://www.example.com/file.zip

이 예에서는 우편번호와 국가라는 두 가지 POST 데이터를 전송합니다.

POST 요청을 하면 cURL이 더 다양해질 수 있습니다.

깊이 제한이 있는 FTP를 통해 재귀적으로 디렉토리 다운로드

재귀적으로 다운로드하면 폴더의 내용과 해당 폴더의 폴더 내용이 다운로드됩니다. 이 예에서는 깊이 제한이 3으로 정의되어 있습니다. 즉, 폴더가 3개의 다른 폴더 내에 중첩되어 있으면 다운로드되지 않습니다.

wget -r -l 3 ftps://ftp.example.com/path/to/folder

FTP를 통해 모든 콘텐츠를 포함한 전체 디렉토리 다운로드

wget -m ftps://ftp.example.com/path/to/folder

Wget을 사용하여 전체 웹페이지 복제

모든 이미지, 스타일 및 스크립트를 포함하여 전체 웹페이지를 가져오려는 경우 다음을 사용할 수 있습니다.

wget -p https://www.example.com/page.html

성공 여부는 다양합니다. 일부 최신 웹 페이지는 원래 서식지에서 벗어나면 제대로 작동하지 않습니다.