기계적 인조 인간

예를 들어 리눅스에서 컬 명령

TOULIVER x BINZ - "BIGCITYBOI" (Official Music Video)

TOULIVER x BINZ - "BIGCITYBOI" (Official Music Video)

차례:

Anonim

curl 은 사용자 상호 작용없이 작동하도록 설계된 서버에서 또는 서버로 데이터를 전송하기위한 명령 줄 유틸리티입니다. curl 사용하면 HTTP, HTTPS, SCP, SFTP 및 FTP를 포함한 지원되는 프로토콜 중 하나를 사용하여 데이터를 다운로드하거나 업로드 할 수 있습니다. curl 은 전송 재개, 대역폭 제한, 프록시 지원, 사용자 인증 등을 수행 할 수있는 다양한 옵션을 제공합니다.

이 자습서에서는 실제 예제와 가장 일반적인 컬 옵션에 대한 자세한 설명을 통해 컬 도구를 사용하는 방법을 보여줍니다.

컬 설치

curl 패키지는 오늘날 대부분의 Linux 배포판에 사전 설치되어 있습니다.

Curl 패키지가 시스템에 설치되어 있는지 확인하려면 콘솔을 열고 curl 입력 한 후 Enter 키를 누르십시오. curl 설치 한 경우 시스템은 curl: try 'curl --help' or 'curl --manual' for more information 을 인쇄 curl: try 'curl --help' or 'curl --manual' for more information . curl: try 'curl --help' or 'curl --manual' for more information . 그렇지 않으면 curl command not found .

curl 이 설치되지 않은 경우 배포판의 패키지 관리자를 사용하여 쉽게 설치할 수 있습니다.

우분투와 데비안에 컬 설치

sudo apt update sudo apt install curl

CentOS 및 Fedora에 컬 설치

sudo yum install curl

컬을 사용하는 방법

curl 명령의 구문은 다음과 같습니다.

curl

가장 간단한 형태로, 옵션없이 호출하면 curl 은 지정된 자원을 표준 출력에 표시합니다.

예를 들어 example.com 홈페이지를 검색하려면 다음을 실행하십시오.

curl example.com

이 명령은 터미널 창에 example.com 홈페이지의 소스 코드를 인쇄합니다.

프로토콜이 지정되지 않은 경우 curl 은 사용하려는 프로토콜을 추측하려고 시도하며 기본값은 HTTP 입니다.

출력을 파일로 저장

curl 명령의 결과를 저장하려면 -o 또는 -O 옵션을 사용하십시오.

소문자 -o 는 파일을 사전 정의 된 파일 이름으로 저장합니다 (아래 예에서는 vue-v2.6.10.js .

curl -o vue-v2.6.10.js

대문자 -O 는 파일을 원래 파일 이름으로 저장합니다.

curl -O

여러 파일 다운로드

한 번에 여러 파일을 다운로드하려면 여러 -O 옵션을 사용하고 다운로드하려는 파일의 URL을 사용하십시오.

다음 예제에서는 Arch Linux 및 Debian iso 파일을 다운로드합니다.

curl -O http://mirrors.edge.kernel.org/archlinux/iso/2018.06.01/archlinux-2018.06.01-x86_64.iso \ -O

다운로드 재개

-C - 옵션을 사용하여 다운로드를 재개 할 수 있습니다. 큰 파일을 다운로드하는 동안 연결이 끊어지고 처음부터 다운로드를 시작하는 대신 이전 파일을 계속 사용할 수있는 경우에 유용합니다.

예를 들어 다음 명령을 사용하여 Ubuntu 18.04 iso 파일을 다운로드하는 경우:

curl -O

갑자기 연결이 끊어지면 다음을 사용하여 다운로드를 다시 시작할 수 있습니다.

curl -C - -O

URL의 HTTP 헤더를 가져옵니다

HTTP 헤더는 사용자 에이전트, 컨텐츠 유형 및 인코딩과 같은 정보를 포함하는 콜론으로 구분 된 키-값 쌍입니다. 요청 또는 응답과 함께 클라이언트와 서버간에 헤더가 전달됩니다.

지정된 자원의 HTTP 헤더 만 페치하려면 -I 옵션을 사용하십시오.

curl -I --http2

-L 옵션은 curl 이 최종 목적지에 도달 할 때까지 경로 재 지정을 따르도록 지시합니다.

curl -L google.com

사용자 에이전트 변경

때때로 파일을 다운로드 할 때 원격 서버가 Curl User-Agent를 차단하거나 방문자 장치 및 브라우저에 따라 다른 컨텐츠를 리턴하도록 설정 될 수 있습니다.

이와 같은 상황에서 다른 브라우저를 에뮬레이트하려면 -A 옵션을 사용하십시오.

예를 들어 Firefox 60을 에뮬레이트하려면 다음을 사용하십시오.

curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0"

최대 전송률 지정

--limit-rate 옵션을 사용하면 데이터 전송 속도를 제한 할 수 있습니다. 값은 바이트, k 접미사가있는 킬로바이트, m 접미사가있는 메가 바이트 및 g 접미사가있는 기가 바이트로 표시 될 수 있습니다.

다음 예제에서 curl 은 Go 바이너리를 다운로드하고 다운로드 속도를 1MB로 제한합니다.

curl --limit-rate 1m -O

이 옵션은 curl 이 사용 가능한 모든 대역폭을 소비하지 않도록하는 데 유용합니다.

FTP를 통한 파일 전송

curl 로 보호 된 FTP 서버에 액세스하려면 -u 옵션을 사용하고 아래와 같이 사용자 이름과 비밀번호를 지정하십시오.

curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/

로그인하면 명령은 사용자의 홈 디렉토리에있는 모든 파일과 디렉토리를 나열합니다.

다음 구문을 사용하여 FTP 서버에서 단일 파일을 다운로드 할 수 있습니다.

curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/file.tar.gz

FTP 서버에 파일을 업로드하려면 -T 와 업로드 할 파일 이름을 차례로 사용하십시오.

curl -T newfile.tar.gz -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/

쿠키 보내기

원격 리소스에 액세스하거나 문제를 디버깅하기 위해 특정 쿠키로 HTTP 요청을해야 할 수도 있습니다.

curl 하여 리소스를 요청하면 기본적으로 쿠키가 전송되거나 저장되지 않습니다.

쿠키를 서버로 보내려면 -b 스위치와 쿠키 또는 문자열이 포함 된 파일 이름을 사용하십시오.

예를 들어, Oracle Java JDK rpm 파일 jdk-10.0.2_linux-x64_bin.rpm 을 다운로드하려면 값 a oraclelicense 쿠키를 a :

curl -L -b "oraclelicense=a" -O

프록시 사용

curl 은 HTTP, HTTPS 및 SOCKS를 포함하여 다양한 유형의 프록시를 지원합니다. 프록시 서버를 통해 데이터를 전송하려면 -x ( --proxy ) 옵션과 프록시 URL을 차례로 사용하십시오.

다음 명령은 192.168.44.1 포트 8888 에서 프록시를 사용하여 지정된 자원을 다운로드합니다.

curl -x 192.168.44.1:8888

프록시 서버에 인증이 필요한 경우 -U ( --proxy-user ) 옵션 다음에 사용자 이름과 비밀번호를 콜론 ( user:password )으로 구분하여 user:password .

curl -U username:password -x 192.168.44.1:8888

결론

curl 은 원격 호스트와 데이터를주고받을 수있는 명령 줄 도구입니다. 문제 해결, 파일 다운로드 등에 유용합니다.

이 자습서에 표시된 예제는 간단하지만 가장 많이 사용되는 curl 옵션을 보여주고 curl 명령의 작동 방식을 이해하는 데 도움이됩니다.

curl 대한 자세한 내용은 Curl Documentation 페이지를 방문하십시오.

컬 터미널