컴퓨터/LINUX

리눅스에서 curl 명령어 사용법

푸른바다23 2024. 5. 23. 18:21

리눅스에서 curl 명령어 사용법

 

curl은 리눅스에서 널리 사용되는 명령줄 도구로, 다양한 프로토콜을 통해 데이터를 전송하거나 다운로드할 수 있습니다. 주로 HTTP, HTTPS, FTP 등의 프로토콜을 지원하며, API와 상호 작용하거나 파일을 다운로드하는 데 자주 사용됩니다. 이 글에서는 curl의 기본 사용법과 주요 옵션들을 소개하겠습니다.

 

1. curl 기본 사용법

curl의 기본 사용법은 다음과 같습니다:

curl [옵션] [URL]

 

예를 들어, 특정 웹 페이지의 내용을 다운로드하려면 다음과 같이 입력합니다:

curl https://www.example.com
 

 

2. 주요 옵션

 

curl은 다양한 옵션을 제공하여 세부적으로 동작을 조정할 수 있습니다. 주요 옵션들은 다음과 같습니다:

a. 파일 저장 (-o 또는 -O 옵션)

  • -o [filename]: 지정한 파일 이름으로 저장합니다.
  • -O: URL에서 추출한 이름으로 파일을 저장합니다.

예를 들어, 웹 페이지를 example.html이라는 이름으로 저장하려면 다음과 같이 입력합니다:

 
curl -o example.html https://www.example.com

 

b. 헤더 정보 출력 (-I 옵션)

헤더 정보만 출력하려면 -I 옵션을 사용합니다:

curl -I https://www.example.com
 

 

c. 데이터 전송 (-d 옵션)

POST 요청으로 데이터를 전송하려면 -d 옵션을 사용합니다:

 
curl -d "param1=value1&param2=value2" https://www.example.com/api


d. JSON 데이터 전송

JSON 데이터를 전송할 때는 -H 옵션을 사용하여 헤더를 설정하고, -d 옵션으로 데이터를 전송합니다:

 
curl -H "Content-Type: application/json" -d '{"key1":"value1", "key2":"value2"}' https://www.example.com/api


e. 파일 업로드 (-F 옵션)

파일을 업로드하려면 -F 옵션을 사용합니다:

 
curl -F "file=@/path/to/file" https://www.example.com/upload



3. 고급 사용법

a. 인증 사용

인증이 필요한 요청에는 -u 옵션을 사용하여 사용자 이름과 비밀번호를 전달할 수 있습니다:

 
curl -u username:password https://www.example.com/protected


b. 리디렉션 따라가기 (-L 옵션)

리디렉션이 발생하는 경우, -L 옵션을 사용하여 리디렉션을 따릅니다:

 
curl -L https://www.example.com

 

c. 프로그래밍 언어에서 curl 사용

다양한 프로그래밍 언어에서도 curl을 사용할 수 있습니다. 예를 들어, PHP에서는 curl_init(), curl_setopt(), curl_exec() 등을 사용하여 curl 기능을 구현할 수 있습니다.

4. curl을 활용한 예제

a. API 요청

API 요청을 통해 데이터를 받아오는 예제입니다:

 
curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN" https://api.example.com/data

 

b. FTP 서버에서 파일 다운로드

FTP 서버에서 파일을 다운로드하는 예제입니다:

 
curl -u username:password ftp://ftp.example.com/path/to/file

 

c. 여러 URL 한 번에 요청

여러 URL을 한 번에 요청하여 각각의 응답을 파일로 저장하는 예제입니다:

 
curl -O https://www.example.com/page1 -O https://www.example.com/page2

 

5. curl의 장점

  • 다양한 프로토콜 지원: HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, DICT, TELNET, LDAP 등을 지원합니다.
  • 광범위한 옵션: 다양한 옵션을 제공하여 세밀한 조정이 가능합니다.
  • 스크립트와의 통합: 스크립트에서 쉽게 사용할 수 있어 자동화된 작업에 유용합니다.

 

결론

curl은 리눅스에서 매우 강력하고 유연한 도구로, 웹 상의 데이터 전송 및 다운로드 작업을 손쉽게 처리할 수 있습니다. 다양한 옵션을 활용하면 더욱 효과적으로 curl을 사용할 수 있습니다. 위에서 소개한 기본 사용법과 예제를 통해 curl을 마스터하고, 필요한 작업에 유용하게 활용해 보세요.

 

반응형