Linux의 cURL 대 wget: 차이점은 무엇입니까?

게시 됨: 2022-07-13
bash 프롬프트를 표시하는 Linux 노트북
Fatmawati achmad zaenuri/Shutterstock.com

많은 Linux 사용자에게 무엇으로 파일을 다운로드하는지 묻는다면 일부는 wget 이라고 말하고 다른 일부는 cURL 이라고 말할 것입니다. 차이점은 무엇이며 하나가 다른 것보다 낫습니까?

연결성에서 시작되었습니다.

정부 연구자들은 1960년대부터 서로 다른 네트워크를 함께 연결하기 시작하여 상호 연결된 네트워크 가 탄생했습니다. 그러나 우리가 알고 있는 인터넷의 탄생은 TCP/IP 프로토콜이 구현된 1983년 1월 1일에 이루어졌습니다. 이것은 누락 된 링크였습니다. 그것은 서로 다른 컴퓨터와 네트워크가 공통 표준을 사용하여 통신할 수 있도록 했습니다.

1991년에 CERN은 내부적으로 몇 년 동안 사용했던 World Wide Web 소프트웨어를 출시했습니다. 인터넷을 위한 이 시각적 오버레이에 대한 관심은 즉각적이고 광범위했습니다. 1994년 말까지 10,000개의 웹 서버와 1,000만 명의 사용자가 있었습니다.

인터넷은 어떻게 작동합니까?
관련 인터넷은 어떻게 작동합니까?

인터넷과 웹이라는 두 가지 이정표는 연결의 매우 다른 면을 나타냅니다. 그러나 동일한 기능도 많이 공유합니다.

연결성은 바로 그것을 의미합니다. 서버와 같은 일부 원격 장치에 연결하고 있습니다. 그리고 당신이 필요하거나 원하는 무언가가 있기 때문에 당신은 그것에 연결하고 있습니다. 그러나 Linux 명령줄에서 원격으로 호스팅된 리소스를 로컬 컴퓨터로 어떻게 검색합니까?

1996년에 원격 호스팅 리소스를 다운로드할 수 있는 두 가지 유틸리티가 탄생했습니다. 1월에 출시된 wget 과 12월에 출시된 cURL 입니다. 둘 다 Linux 명령줄에서 작동합니다. 둘 다 원격 서버에 연결하고 둘 다 당신을 위해 물건을 검색합니다.

그러나 이것은 동일한 작업을 수행하기 위해 두 개 이상의 도구를 제공하는 Linux의 일반적인 경우가 아닙니다. 이러한 유틸리티는 목적과 전문 분야가 다릅니다. 문제는 그것들이 어느 것을 언제 사용해야 하는지에 대해 혼란을 야기할 만큼 충분히 유사하다는 것입니다.

두 명의 외과의사를 생각해 보십시오. 당신은 아마도 안과 의사가 심장 우회 수술을 하는 것을 원하지 않고 심장 ​​외과의가 백내장 수술을 하는 것을 원하지 않을 것입니다. 예, 둘 다 고도로 숙련된 의료 전문가이지만 그렇다고 해서 서로를 대신할 수 있는 것은 아닙니다.

wgetcURL 도 마찬가지입니다.

다른 목적, 다른 기능, 일부 중복

wget 명령의 "w"는 의도된 목적의 표시기입니다. 주요 목적은 웹 페이지 또는 전체 웹 사이트를 다운로드하는 것입니다. man 페이지에서는 HTTP, HTTPS 및 FTP 프로토콜을 사용하여 웹에서 파일을 다운로드하는 유틸리티로 설명합니다.

대조적으로 cURL 은 SCP, SFTP 및 SMSB는 물론 HTTPS를 포함한 26개의 프로토콜과 함께 작동합니다. man 페이지에는 서버 로 또는 서버에서 데이터를 전송하기 위한 도구라고 나와 있습니다. 특히 웹 사이트에서 작동하도록 맞춤화되지 않았습니다. 지원하는 많은 인터넷 프로토콜을 사용하여 원격 서버와 상호 작용하기 위한 것입니다.

따라서 wget 은 주로 웹사이트 중심적인 반면 cURL 은 일반 인터넷 수준에서 더 깊은 수준에서 작동합니다.

wget 은 웹 페이지를 검색할 수 있으며 웹 서버의 전체 디렉토리 구조를 재귀적으로 탐색하여 전체 웹 사이트를 다운로드할 수 있습니다. 또한 검색된 페이지의 링크를 조정하여 원격 웹 서버의 해당 웹 페이지가 아니라 로컬 컴퓨터의 웹 페이지를 올바르게 가리키도록 할 수 있습니다.

cURL 을 사용하면 원격 서버와 상호 작용할 수 있습니다. 파일을 업로드하고 검색할 수 있습니다. cURL 은 SOCKS4 및 SOCKS5 프록시와 함께 작동하고 프록시에 대한 HTTPS도 작동합니다. GZIP, BROTLI 및 ZSTD 형식의 압축 파일 자동 압축 해제를 지원합니다. cURL 을 사용하면 여러 전송을 동시에 다운로드할 수도 있습니다.

그들 사이의 겹침은 wgetcURL 을 모두 사용하여 웹 페이지를 검색하고 FTP 서버를 사용할 수 있다는 것입니다.

이것은 대략적인 지표일 뿐이지만 man 페이지의 길이를 보면 두 도구의 상대적 기능 세트를 어느 정도 이해할 수 있습니다. 테스트 머신에서 wget 의 맨페이지는 1433줄입니다. cURLman 페이지는 무려 5296줄입니다.

wget에서 간단히 살펴보기

wget 은 GNU 프로젝트의 일부이기 때문에 모든 Linux 배포판에 사전 설치되어 있어야 합니다. 특히 가장 일반적인 용도인 웹페이지나 파일 다운로드의 경우 사용이 간단합니다.

웹 페이지 또는 원격 파일에 대한 URL과 함께 wget 명령을 사용하기만 하면 됩니다.

 wget https://file-examples.com/wp-content/uploads/2017/02/file-sample_100kB.doc 

wget으로 Word 문서 다운로드

파일이 검색되어 원래 이름으로 컴퓨터에 저장됩니다.

Word 문서를 다운로드하는 wget 명령의 출력

파일을 새 이름으로 저장하려면 -O (출력 문서) 옵션을 사용합니다.

 wget -O word-file-test.doc https://file-examples.com/wp-content/uploads/2017/02/file-sample_100kB.doc 

wget으로 파일 다운로드 및 새 이름으로 저장

검색된 파일은 선택한 이름으로 저장됩니다.

다운로드한 파일의 이름이 명령줄에 제공된 이름으로 바뀝니다.

웹사이트를 검색할 때 -O 옵션을 사용하지 마십시오. 그렇게 하면 검색된 모든 파일이 하나로 추가됩니다.

전체 웹 사이트를 검색하려면 -m (미러) 옵션과 웹 사이트 홈 페이지의 URL을 사용합니다. 또한 --page-requisites 를 사용하여 웹 페이지를 올바르게 렌더링하는 데 필요한 모든 지원 파일도 다운로드되도록 하고 싶을 것입니다. --convert-links 옵션은 웹사이트의 외부 위치 대신 로컬 컴퓨터의 올바른 대상을 가리키도록 검색된 파일의 링크를 조정합니다.

관련: 궁극적인 명령줄 다운로드 도구인 wget을 사용하는 방법

cURL의 간략한 엿보기

cURL 은 독립적인 오픈 소스 프로젝트입니다. Manjaro 21 및 Fedora 36에 사전 설치되어 있지만 Ubuntu 21.04에 설치해야 했습니다.

Ubuntu에 cURL을 설치하는 명령어입니다.

 sudo apt 설치 컬 

우분투에 cURL 설치

wget 에서 했던 것과 같은 파일을 다운로드하고 같은 이름으로 저장하려면 이 명령을 사용해야 합니다. -o (출력) 옵션은 cURL 에서 소문자입니다.

 curl -o word-file-test.doc https://file-examples.com/wp-content/uploads/2017/02/file-sample_100kB.doc 

cURL로 파일 다운로드 및 새 이름으로 저장

파일이 다운로드됩니다. 다운로드하는 동안 ASCII 진행률 표시줄이 표시됩니다.

파일이 다운로드되어 명령줄에 지정된 이름으로 저장됩니다.

FTP 서버에 연결하고 파일을 다운로드하려면 -u (사용자) 옵션을 사용하고 다음과 같이 사용자 이름과 암호 쌍을 제공합니다.

 curl -o test.png -u 데모:비밀번호 ftp://test.rebex.net/pub/example/KeyGenerator.png 

cURL을 사용하여 FTP 서버에서 파일 다운로드

테스트 FTP 서버에서 파일을 다운로드하고 이름을 바꿉니다.

cURL을 사용하여 FTP 서버에서 성공적으로 다운로드

관련: Linux 명령줄에서 파일을 다운로드하기 위해 curl을 사용하는 방법

최고는 없다

“무엇을 하려는 겁니까?”라고 묻지 않고는 “어느 쪽을 사용해야 할까요?”라고 대답하는 것은 불가능합니다.

wgetcURL 이 하는 일을 이해하고 나면 경쟁자가 아니라는 것을 알게 될 것입니다. 그들은 동일한 요구 사항을 충족하지 않으며 동일한 기능을 제공하려고 하지 않습니다.

웹페이지와 웹사이트를 다운로드하는 것은 wget 의 우월성이 있는 곳입니다. 그것이 당신이하고있는 일이라면 wget 을 사용하십시오. 예를 들어 업로드하거나 다른 수많은 프로토콜을 사용하는 경우에는 cURL 을 사용합니다.