Linux를 사용하다보면 개발에 필요한 여러 프로그램들을 curl명령어를 사용해서 설치하곤 한다. 아래의 코드는 vim-plug의 설치 코드이다.
$ curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
Shell
복사
그런데 이때 사용하는 curl, 대체 의미하는게 무엇일까?
curl은 Client URL의 약자로 서버와 통신할 수 있는 명령어 툴이다.
즉, 우리가 URL을 가지고 할 수 있는 것들은 다 할수 있다. 지원하는 프로토콜들을 이용해 서버에 데이터를 보내거나 가져올 때 사용하는 도구이다. 예를들면 http프로토콜을 이용해 웹 페이지의 소스를 가져온다거나 파일을 다운받을 수 있다. ftp 프로토콜을 이용해서는 파일을 받을 수 있을 뿐 아니라 올릴 수도 있다. 심지어 SMTP 프로토콜을 이용하면 메일도 보낼 수 있다
다양한 지원 프로토콜들
•
DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, Telnet, TFTP
맥에서는 기본적으로 curl 명령어를 지원한다. 일반적으로 설치되어 있지만 설지되어 있지 않다면 아래의 명령어를 사용해 설치할 수도 있다.
$ sudo apt-get install curl
Shell
복사
설치 후 아래와 같이 출력되면 정상이다.
$ curl --version
curl 7.64.1 (x86_64-apple-darwin20.0) libcurl/7.64.1 (SecureTransport) LibreSSL/2.8.3 zlib/1.2.11 nghttp2/1.41.0
Release-Date: 2019-03-27
Shell
복사
일반적인 리눅스 명령어와 마찬가지로 man 명령어를 사용해 매뉴얼을 볼 수 있다.
$ man curl
Shell
복사
CURL명령어 사용법
이제 아래와 같은 형태로 curl명령어를 사용할 수 있다.
$ curl [option] End-Point/...
Shell
복사
기본 보기
Search
CURL을 사용해서 응답을 파일에 쓰기
$ curl http://example.com/resourece > foo.txt
Shell
복사
옵션없이 사용하는 curl 명령어는 표준 출력으로 응답을 출력하는데 리다이렉션을 활용해서 파일로 저장할 수 있다.
CURL을 사용해서 파일 다운로드하기!
특정 파일을 다운받고 싶을때, curl 명령어를 활용해서 다운로드 할 수 있다.
$ curl -o foo.txt http://example.com/foo.txt
Shell
복사
-O 옵션을 사용하면 리소스의 파일명을 그대로 사용한다.
여러파일을 한번에 다운로드 받을 수도 있다! 아래의 코드를 보자.
$ curl -O http://example.com/foo-[a-z][0-9].txt
$ curl -O http://example.com/{foo,bar,baz}.txt
Shell
복사
curl과 유사하지만 파일 다운로드에 특화된 wget명령어가 있다. 자세한 내용은 아래의 링크에서 알아보자