기록/리눅스
[리눅스] 파일 다운로드
코드코코
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 이 적합