내 잡다한 노트

유닉스 계열 명령줄 : wget, curl 본문

DevOps/리눅스

유닉스 계열 명령줄 : wget, curl

peanutwalnut 2023. 10. 6. 22:55

자주 쓰이는 command-line tools and shell utilities에 대해 공부해보고 작성할 것임.

 

wget

World Wide Web get의 약자이다.

웹 서버로부터 콘텐츠를 다운로드하기 위한 소프트웨어 유틸리티이다. 

HTTP, HTTPS, FTP 프로토콜을 지원하며, 재귀적 다운로드 기능이 있어서 함께 연결된 모든 리소스도 다운로드 할 수 있다. 그러니까 웹에 연결된 이미지나 파일 같은걸 다운로드 한다는것이다.

또한, POST 메소드를 할 수 있어서 웹사이트에 정보를 보낼수도 있다.

이것과 비슷한 기능을 하는 것이 curl 이다.

 

curl

wget과 같이 웹 서버로부터 콘텐츠를 다운로드하기 위한 도구이다.

주로 API와의 상호작용이나 웹 컨텐츠의 다운로드/업로드에 사용된다. 대부분의 운영체제에서 사용 가능하다.

위에 써놓은 wget의 기능들을 다 할 수 있다.

자세한건 차이점을 통해 살펴보자.

 

wget과 curl의 차이점

- wget은 재귀적 다운로드 기능이 있어서 웹사이트 전체를 다운로드하는데 유용하다.

curl은 데이터 전송에 초점이 맞춰져 있고, 다양한 프로토콜과 상호작용할 수 있다. API 테스트 및 데이터 전송에

주로 사용된다.

 

- 둘 다 여러 프로토콜을 지원하지만 curl이 더 다양한 프로토콜을 지원한다. 

POP3, IMAP, SCP, TELNET 등등 다양하다. 

 

- wget은 주로 명령 줄 도구로만 사용되지만,

curl은 libcurl이라는 라이브러리 형태로도 제공이 된다. 그래서 다른 프로그램에서 HTTP/FTP 등의 기능을

사용할 수 있게 해준다.

 

- wget은 단방향이다. 무슨 말이냐면 POST request만 된다는 것이다. response가 안된다...

반면에 curl은 양방향이다. 

 

따라서, 별 다른 옵션 없이 다운로드만 하고 싶다면 wget이 좋고,

좀 복잡한 컨텐츠라면 curl이 좋을 것이다. 

 

 

 

 

'DevOps > 리눅스' 카테고리의 다른 글

sudo apt update에서 404 Not Found 에러  (0) 2023.11.03
VirtualBox 실행시 0xc000007b 에러  (0) 2023.11.03
리눅스 PAM  (0) 2023.09.02
리눅스 보안 방화벽에 관해  (1) 2023.09.02
fork( ) 정의와 특징  (0) 2023.04.08