코드코코

[리눅스] 파일 다운로드 본문

기록/리눅스

[리눅스] 파일 다운로드

코드코코 2021. 12. 15. 10:20

wget vs curl

  • 패키지를 다운받는 것과는 별개로,
  • wget 과 curl 은 둘 다 웹 서버로부터 컨텐츠를 가져오는 Linux 커맨드

공통점

  • HTTP, HTTPS, FTP 프로토콜을 통해 컨텐츠를 다운로드 하는 커맨트 라인 툴
  • HTTP POST request 를 지원(즉, 웹사이트로 데이터를 전송가능)
  • HTTP 쿠키를 지원
  • 스크립트처럼 사용자 인터렉션없이 수행될 수 있도록 설계
  • 오픈소스이며 무료
  • 90년대에 시작한 프로젝트(wget 은 1995년, curl 은 1996년에 시작)
  • metalink 를 지원

차이점

  • wget
    • 간단하고 직관적
    • 별도의 라이브러리를 지원하지 않음.
    • 재귀적으로 다운로드
      • 즉, 페이지에 있는 모든 내용이나 FTP 디렉터리에 있는 모든 파일들을 한 번에 그대로 복사해 옵니다.
    • GNU 프로젝트입니다.
    • 별다른 옵션없이 컨텐츠를 조금 더 빠르게 다운로드하려고 한다면 wget 이 적합
    • $ wget DOWNLOAD-url
    • root@DESKTOP-RJ31OF5:/home/ubuntu# ls -la
      total 16
      drwxr-xr-x 1 ubuntu ubuntu 4096 Dec 14 23:02 .
      drwxr-xr-x 1 root   root   4096 Dec 14 09:55 ..
      -rw------- 1 ubuntu ubuntu  909 Dec 15 03:08 .bash_history
      -rw-r--r-- 1 ubuntu ubuntu  220 Dec 13 20:13 .bash_logout
      -rw-r--r-- 1 ubuntu ubuntu 3968 Dec 14 02:28 .bashrc
      drwxr-xr-x 1 ubuntu ubuntu 4096 Dec 14 23:02 .cache
      drwx------ 1 ubuntu ubuntu 4096 Dec 14 09:46 .config
      drwxr-xr-x 1 ubuntu ubuntu 4096 Dec 13 20:13 .landscape
      -rw-r--r-- 1 ubuntu ubuntu    0 Dec 15 09:31 .motd_shown
      drwxr-xr-x 1 ubuntu ubuntu 4096 Dec 14 14:10 .npm
      drwxr-xr-x 1 ubuntu ubuntu 4096 Dec 14 02:29 .nvm
      -rw-r--r-- 1 ubuntu ubuntu  807 Dec 13 20:13 .profile
      -rw-r--r-- 1 ubuntu ubuntu    0 Dec 13 20:17 .sudo_as_admin_successful
      -rw------- 1 ubuntu ubuntu  684 Dec 14 13:10 .viminfo
      drwxr-xr-x 1 ubuntu ubuntu 4096 Dec 14 02:15 .vscode-server
      -rw-r--r-- 1 ubuntu ubuntu  183 Dec 14 02:15 .wget-hsts
      drwxr-xr-x 1 ubuntu ubuntu 4096 Dec 14 23:02 .yarn
      drwxr-xr-x 1 root   root   4096 Dec 14 12:37 aaa
      drwxr-xr-x 1 ubuntu ubuntu 4096 Dec 14 23:02 login
      -rw-r--r-- 1 root   root     29 Dec 14 09:29 noname.txt
      -rw-r--r-- 1 ubuntu ubuntu   29 Dec 14 09:32 noname1.txt
      
      
      ----------------------------------------------------------------------------------
      
      root@DESKTOP-RJ31OF5:/home/ubuntu# wget https://google.com
      --2021-12-15 10:23:41--  https://google.com/
      Resolving google.com (google.com)... 172.217.31.174, 2404:6800:4004:80c::200e
      Connecting to google.com (google.com)|172.217.31.174|:443... connected.
      HTTP request sent, awaiting response... 301 Moved Permanently
      Location: https://www.google.com/ [following]
      --2021-12-15 10:23:42--  https://www.google.com/
      Resolving www.google.com (www.google.com)... 172.217.175.100, 2404:6800:4004:81e::2004
      Connecting to www.google.com (www.google.com)|172.217.175.100|:443... connected.
      HTTP request sent, awaiting response... 200 OK
      Length: unspecified [text/html]
      Saving to: ‘index.html’
      
      index.html                        [ <=>                                              ]  16.05K  --.-KB/s    in 0.001s
      
      2021-12-15 10:23:42 (20.8 MB/s) - ‘index.html’ saved [16435]
      
      ----------------------------------------------------------------------------------
      
      root@DESKTOP-RJ31OF5:/home/ubuntu# ls -la
      total 48
      drwxr-xr-x 1 ubuntu ubuntu  4096 Dec 15 10:23 .
      drwxr-xr-x 1 root   root    4096 Dec 14 09:55 ..
      -rw------- 1 ubuntu ubuntu   909 Dec 15 03:08 .bash_history
      -rw-r--r-- 1 ubuntu ubuntu   220 Dec 13 20:13 .bash_logout
      -rw-r--r-- 1 ubuntu ubuntu  3968 Dec 14 02:28 .bashrc
      drwxr-xr-x 1 ubuntu ubuntu  4096 Dec 14 23:02 .cache
      drwx------ 1 ubuntu ubuntu  4096 Dec 14 09:46 .config
      drwxr-xr-x 1 ubuntu ubuntu  4096 Dec 13 20:13 .landscape
      -rw-r--r-- 1 ubuntu ubuntu     0 Dec 15 09:31 .motd_shown
      drwxr-xr-x 1 ubuntu ubuntu  4096 Dec 14 14:10 .npm
      drwxr-xr-x 1 ubuntu ubuntu  4096 Dec 14 02:29 .nvm
      -rw-r--r-- 1 ubuntu ubuntu   807 Dec 13 20:13 .profile
      -rw-r--r-- 1 ubuntu ubuntu     0 Dec 13 20:17 .sudo_as_admin_successful
      -rw------- 1 ubuntu ubuntu   684 Dec 14 13:10 .viminfo
      drwxr-xr-x 1 ubuntu ubuntu  4096 Dec 14 02:15 .vscode-server
      -rw-r--r-- 1 ubuntu ubuntu   183 Dec 14 02:15 .wget-hsts
      drwxr-xr-x 1 ubuntu ubuntu  4096 Dec 14 23:02 .yarn
      drwxr-xr-x 1 root   root    4096 Dec 14 12:37 aaa
      -rw-r--r-- 1 root   root   16435 Dec 15 10:23 index.html
      drwxr-xr-x 1 ubuntu ubuntu  4096 Dec 14 23:02 login
      -rw-r--r-- 1 root   root      29 Dec 14 09:29 noname.txt
      -rw-r--r-- 1 ubuntu ubuntu    29 Dec 14 09:32 noname1.txt
      root@DESKTOP-RJ31OF5:/home/ubuntu#
  • curl
    • libcurl 라이브러리로 더 강력한 기능들을 추가/사용 가능
    • stdin 또는 stdout 의 pipe 를 이용하는 전통적인 unix 스타일의 방식도 지원
    • LDAP 이나 Samba 공유도 지원
    • 양방향 (wget 은 일반 HTTP POST request 만 지원)
    • SSL 을 지원
    • gzip 압축 및 해지를 지원
    • MIT 라이센스
    • 조금 더 복잡한 컨텐츠를 다운로드 하려고 한다면 wget 보다는 curl 이 적합