리눅스 환경에서 인터넷 파일을 다운로드 할 경우
가장 많이 쓰이는 방법은 wget 명령어를 사용하는 것이다.
1. 단일 파일 받기
$ wget [URL]
다운로드 하는 동안 진행 경과와 함께 다음의 정보를 보여줌
- 현재 몇 퍼센트 다운 받았는지에 대한 정보
- 현재 다운로드 받은 바이트 수
- 현재 다운로드 속도
- 다운로드 완료까지 남은 시간
2. 다른 이름으로 저장하기
wget은 기본적으로 다운로드 경로의 마지막 슬래쉬('/') 다음에 오는 단어를 파일이름으로 사용합니다.
그런데 위 방법은 이상한 이름으로 저장이 됩니다.
ex) wget http://serverstudy.tistory.com/abc[2][3][4].txt 라고한다면 저장된 파일이름은 abc[2][3][4] 가 됩니다.
그렇기 떄문에 -O 옵션을 주어 이름을 지정한다
소문자 -o 옵션은 에러메세지를 지정한 파일에 로그를 남길때쓰입니다.
$ wget -O file.zip [URL]
3. 다운로드 속도 지정
wget은 다운로드시 기본적으로 가능한 최대의 대역폭을 사용합니다. 그러나 대량의 파일을 받아야 한다면 사용하는 대역폭을 조절할 필요가 있습니다. '--limit-rate' 옵션으로 다운로드 속도를 제한할 수 있습니다. 다음은 다운로드 속도를 200k로 제한하는 경우입니다.
$ wget --limit-rate=200k [URL]
4. 이어받기
이는 대용량 파일을 다운로드 받는 도중 멈추고 다른 작업을 해야했을 때
전체파일을 다시 받지 않고 이전에 받은 파일에 이어받을 수 있어서 유용합니다.
만일 '-c' 옵션으로 이어받지 않고 이전에 다운로드 중이던 파일이 남아있으면
같은이름으로 다운로드 할 것이므로 새로운 받기에서는 파일이름 뒤에 '.1'이 추가됩니다.
여기서 '.1'이 이미 있으면 '.2'가 추가됩니다. 그러므로 이어받기를 하는게 좋습니다.
$ wget -c [URL]
5. 다운로드 가능한지 확인하기
특정 시간에 다운로드 일정이 잡혀있을 때, 원격지에 파일이 존재하는지 아닌지 확인을 해봐야 합니다. 이 때 '--spider' 옵션을 사용하여 링크가 올바른지 확인합니다.
URL이 올바를 경우
$ wget --spider http://serverstudy.tistory.com/abc[2][3][4].txt
Spider mode enabled. Check if remote file exists.
HTTP request sent, awaiting response... 200 OK
Length: 3852374 (3.7M) [application/x-bzip2]
Remote file exists.
에러가 있을 경우
$ wget --spider http://serverstudy.tistory.com/abc[2][3][4].txt
Spider mode enabled. Check if remote file exists.
HTTP request sent, awaiting response... 404 Not Found
Remote file does not exist -- broken link!!!
6. 여러개의 파일 다운로드하기
여러 파일을 다운로드 하려면 다운로드 하려는 여러 링크를 써놓은 파일(엔터로 구분)을 만들고 '-i' 옵션을 통해 작업을 진행합니다.
$ wget -i FILE-WHICH-HAS-URLS
7. ftp 다운로드하기
wget으로 ftp 다운로드를 할 수 있습니다.
anonymous ftp 다운로드는 다음 예제와 같습니다.
$ wget FTP-URL
인증이 필요한 ftp는 '--ftp-user'와 '--ftp-password'를 입력해야 합니다.
$ wget --ftp-user=USERNAME --ftp-password=PASSWORD FTP-URL
8. 브라우저에서 다운로드 하는 것 처럼 user-agent 정보 보내기
몇몇 웹사이트는 브라우저로 다운로드하지 않는다고 판단될 경우 다운로드를 허가하지 않는 경우가 있습니다.
이 때 '--user-agent' 옵션으로 정보를 함께 보낼 수 있습니다.
$ wget --user-agent="Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3) Gecko/2008092416 Firefox/3.0.3" DOWNLOAD-URL
9. 전체 웹사이트 다운로드 받기
아래 예제는 로컬에서 전체 웹사이트를 볼 수 있도록 합니다.
$ wget --mirror -p --convert-links -P ./LOCAL-DIR WEBSITE-URL
- --mirror: 미러링 옵션을 활성화
- -p: html 페이지를 알맞게 표시하기위해 필요한 모든 파일을 다운로드
- --convert-links: 다운로드를 마친 후 링크를 로컬로 변경
- -P ./LOCAL-DIR: 다운로드할 디렉토리 지정
위 내용을 https://sisiblog.tistory.com/25 에서 참조하였습니다.
'👨🏻💻Infra > 🐧Linux' 카테고리의 다른 글
미들웨어 개념 및 종류 (0) | 2020.03.05 |
---|---|
[Linux] Process의 대한 Thread 정보 확인 (0) | 2020.02.19 |
소스파일들 (0) | 2020.01.30 |
kernel : martian source (0) | 2019.12.27 |
[Linux] CPU 개수 확인 및 (0) | 2019.12.17 |