주제
curl과 wget을 사용해서 터미널 명령을 통해 데이터를 다운로드 할 수 있는 방법에 대해 배웠다.
curl 사용하기
- Client for URLs의 줄임말
- Unix 명령어 도구
- 서버와 데이터를 송수신하기 위해 사용된다.
- HTTP, FTP 서버에서 데이터를 다운로드하는 데 사용된다.
curl 문법
curl [option flags] [URL]
HTTP, HTTPS, FTP, SFTP를 지원한다.
curl -O https://websitename.com/datafilename.txt
만약 다른 이름으로 바꾸고 싶다면 -o
를 사용한다.
curl -o renameddatafilename.txt https://websitename.com/datafilename.txt
와일드 카드를 사용하여 여러 개의 파일을 한 번에 다운로드 할 수 있다.
curl -O https://websitename.com/datafilename*.txt
만약 파일이름이 순차적으로 명시되어 있는 경우, 범위를 표현해서 다운로드 받을 수 있다.
curl -O https://websitename.com/datafilename[001-100].txt
순차적인 파일을 일정 간격으로 다운받을 수 있다.
curl -O https://websitename.com/datafilename[001-110:10].txt
다운로드 중에 시간 만료가 되는 경우, 처리 방법에 대해서도 옵션을 사용할 수 있다.
-L
: 300 error이 발생하는 경우, HTTP URL을 리디렉션한다.
-C
: 완료 전에 시간 만료되는 경우, 이전 파일 전송을 재개한다.
Wget 사용하기
- World Wide Web and get에서 얻은 이름
- 모든 운영체제에서 호환된다.
- HTTP, HTTPS, FTP 를 통해 파일 다운로드하는데 사용할 수 있다.
- curl보다 좀 더 다목적으로 사용할 수 있다.
- 여러 파일을 재귀적으로 다운로드할 수 있다.
Wget 문법
wget [option flags] [URL]
여러 옵션에 대한 설명
-b
: 백그라운드에서 실행할 수 있다.
-q
: 출력을 해제하여 디스크 공간을 절약함.
-c
: 다른 프로그램에 의해 깨진 이전 다운로드를 완료함.
wget -bqc https://websitename.com/datafilename.txt
Wget 활용하기
cat을 사용해서 URL을 빠르게 인쇄하고 미리 볼 수 있다.
cat url_list.txt
url_list.txt
를 열었을 때 내용이 있으려면 -i
를 사용해서 저장할 수 있다.
-i
는 다른 옵션과 같이 연속되게 쓰지않고 따로따로 써줘야한다.
큰 파일을 다운로드 받을 때 전체 대역폭을 소비하지 않도록 설정할 수 있다.
wget --limit-rate={rate}k {file_location}
작은 파일을 사용할 때는 위 설정이 효과가 없다.
그럴 땐 --wait
를 사용해서 강제 대기 시간을 설정한다.
wget --wait={seconds} {file_location}
curl vs wget
curl의 장점
- 20개의 프로토콜을 통해 다운로드/업로드가 가능하다.
- 설치가 쉽다.
wget의 장점
- 여러 개의 파일을 다운로드하는 것을 다루기 위한 다양한 방법들이 있다.
- 파일 디렉토리, HTML 페이지 등 모든 것을 다운로드 하는 것이 가능하다.
Uploaded by Notion2Tistory v1.1.0