Linuxpia/리눅스 사용 팁

wget과 curl의 차이

easyfly 2025. 9. 5. 13:51
반응형

VSCode Server 설치 방법으로 제공되는 두 명령어인 wget과 curl은 파일을 다운로드하고 실행하는 방법이 다릅니다. 두 명령어 모두 VSCode Server 설치 스크립트를 자동으로 다운로드하고 실행하는 데 사용되지만, 동작 방식기본 옵션에서 차이가 있습니다.

 

다음은 두 명령어의 차이점에 대한 설명입니다.


1. wget -O- https://aka.ms/install-vscode-server/setup.sh | sh

(1) wget

  • 파일 다운로드 도구로, 지정된 URL에서 파일을 다운로드하여 지정한 경로에 저장합니다.
  • -O- 옵션은 다운로드한 파일을 표준 출력(stdout) 으로 출력하라는 의미입니다. 이 경우 파일을 바로 sh 명령어로 파이프하여 실행합니다.
  • sh : 표준 출력을 실행할 수 있는 쉘 스크립트로 처리합니다.

(2) 특징

  • wget은 파일 다운로드만을 처리하며, 표준 출력 옵션을 사용하여 실행합니다.
  • 인터넷 연결 상태에 따라 다운로드 속도나 성능이 다를 수 있지만, 기본적으로 wget은 안정적이고 간편한 다운로드 도구입니다.

2. curl -fsSL https://code-server.dev/install.sh | sh

(1) curl

  • 파일 다운로드 및 전송 도구로, 다양한 프로토콜을 지원하고 HTTP 요청을 보내는 데 자주 사용됩니다.
  • -fsSL 옵션의 의미:
    • -f : 서버 오류(404, 500 등) 발생 시 출력을 중지합니다.
    • -s : 표준 출력 숨김(조용한 모드)
    • -S : 오류 발생 시 경고 출력
    • -L : 리디렉션을 따라서 다운로드
  • sh : 다운로드한 스크립트를 실행하는 명령어입니다.

(2) 특징

  • curl은 다양한 HTTP 옵션을 지원하고, 더 세밀한 다운로드 제어가 가능합니다.
  • 유연성이 뛰어나고, 리디렉션 처리나 오류 처리 등을 보다 정밀하게 다룰 수 있습니다.

3. 주요 차이점

구분 wget curl
사용 목적 파일 다운로드 및 실행 파일 다운로드 및 HTTP 요청 처리
다운로드 처리 파일을 직접 다운로드한 후, 파이프라인으로 전달 URL에서 데이터를 요청하고, 처리 후 실행 가능
옵션 단순한 다운로드와 저장 오류 처리, 리디렉션, HTTP 요청 등 다양한 제어 가능
지원하는 프로토콜 HTTP, HTTPS, FTP 등 HTTP, HTTPS, FTP, SFTP 등 다양한 프로토콜 지원
표준 출력 처리 다운로드된 파일을 표준 출력으로 처리 HTTP 요청에 대한 응답을 표준 출력으로 처리

4. 결론

  • wget : 더 간단하고 직관적인 파일 다운로드 도구입니다. HTTP와 FTP와 같은 프로토콜에서 파일을 쉽게 다운로드할 수 있습니다.
  • curl : 더 고급 기능정교한 옵션을 제공합니다. HTTP 요청을 다루고, 리디렉션을 따르며, 서버 응답을 세밀하게 처리할 수 있습니다.

둘 중 어떤 것을 사용할지는 개인의 필요에 따라 다릅니다. 일반적인 리눅스 환경에서는 wget을 많이 사용하지만, 복잡한 HTTP 요청 처리나 세부 설정이 필요하다면 curl을 선호할 수 있습니다.

'curl'을 사용하여 성공한 VSCode 실행 상태

 

VSCode Server 설치에는 둘 다 유효하지만, 조금 더 세밀한 오류 처리와 옵션을 제공하는 curl을 사용하는 것이 좋을 수 있습니다.

반응형