컴퓨터 서적 정리/Ubuntu Linux Toolbox
[Chap12 #02] - (1)파일전송(wget, curl)
devanix
2011. 8. 17. 11:45
wget을 사용하여 파일 다운로드
|
♧ 가끔 커맨드라인 명령어를 사용하여 원격 서버에서 파일 다운로드가 필요하다.
예를 들면, RPM 소프트웨어 패키지에 대한 링크를 찾을 수 있지만, 링크는 HTTP 바로 설치
RPM을 막기 위한 HTTP 리다이렉트를 몇 개 통과해야 한다.
혹은 매일 밤 로그 파일을 자동으로 다운로드하는 스크립트를 원할지 모른다.
wget 명령어는 웹 서버(HTTP 그리고 HTTPS)와 FTP 서버에서 파일을 다운받을 수 있다.
▶ wget 으로 이미지 파일 다운로드.
$ wget https://t1.daumcdn.net/cfile/tistory/133BD1594DFD44E33A
--2011-08-17 11:31:35-- https://t1.daumcdn.net/cfile/tistory/133BD1594DFD44E33A
Resolving cfile3.uf.tistory.com... 118.222.183.121
접속 cfile3.uf.tistory.com|118.222.183.121|:80... 접속됨.
HTTP request sent, awaiting response... 200 OK
Length: 21104 (21K) [image/png]
Saving to: `133BD1594DFD44E33AE5B6'
100%[==========================================>] 21,104 --.-K/s in 0.02s
2011-08-17 11:31:35 (1.31 MB/s) - `133BD1594DFD44E33AE5B6' saved [21104/21104]
|
▶ FTP 서버가 로그인과 패스워드가 필요할 때, wget 커맨드 사용 형식.
$ wget ftp://user:password@ftp.example.com/path/to/file
$ wget --user=user --password=password ftp://ftp.example.com/path/to/file
|
예를 들면 다음과 같다.
$ wget ftp://chris:mykuulpwd@ftp.linuxtoys.net/home/chris/image.jpg
$ wget --user=chris --password=mykuulpwd ftp.linuxtoys.net/home/chris/image.jpg
|
▶ wget으로 단일 웹페이지 다운.
$ wget http://www.wiley.com
|
웹페이지 다운로드
|
$ wget -p http://www.wiley.com
|
웹페이지와 요소들 다운
|
$ wget -pk http://www.wiley.com
|
페이지 다운로드와 로컬 파일 이름 사용
|
$ wget -pkK http://wiley.com
|
로컬 이름 변경, 원본 유지
|
$ wget -E http://www.aspexamples.com
|
다운로드 파일에 .html 추가
|
$ wget -m http://www.linuxtoys.net
|
타임스탬프를 추가하고 FTP 디렉토리 목록 유지
|
$ wget -mEkK http://www.linuxtoys.net
|
가장 쓸만한 복사본
|
$ wget -c http://example.com/DVD.iso
|
중단된 파일을 계속 이어서 다운로드
|
▶ 자주쓰는 예: wget -r -np -A.<확장자> -l <깊이지정> URL
|
cURL을 사용하여 파일 전송
|
♧ URL의 애플리케이션(curl 명령어)을 위한 클라이언트는 웹 및 FTP 프로토콜을 사용하여 파일을
전송하기 위해 wget과 유사한 기능을 제공, 그러나 curl 명령어는 또한 SSH 프로토콜(SCP, SFTP),
LDAP, DICT, Telnet 그리고 File 등 다른 인기 있는 프로토콜을 사용하여 파일을 전송할 수 있다.
대용량 및 순환 다운로드(wget)를 지원하는 대신, curl은 싱글-샷 파일 전송을 위해 디자인되었다.
그러나 더 많은 프로토콜 및 일부 깔끔하고 고급스러운 기능을 지원.
▶대괄호'[]'를 사용하여 일치하는 문자 혹은 숫자 범위 지정하여 사용.
$ curl -O ftp://kernelorg.mirrors.tds.net/pub/linux/kernel/v1.0/patch[6-8].sign
|
▶중괄화'{}'를 사용하여 일치하는 문자 혹은 숫자를 지정하여 사용.
$ curl -OO ftp://kernelorg.mirrors.tds.net/pub/linux/kernel/v2.0/ChangeLog-2.6.{1,4}
|
▶서버의 유저이름과 패스워드, 파일다운로드(fileA)를 추가, 다운로드 완료시 파일 삭제
$ curl -O ftp://chris:MyPasswd@ftp.example.com/home/chris/fileA -Q '-DELE fileA'
|
▶FTP서버에 install.log 파일을 업로드(-T).
$ curl -T install.log ftp://chris:MyPasswd@ftp.example.com/tmp/ \
-Q "-RNFR install.log" -Q "-RNTO Xinstall.log
|
▶ftp.kernel.org/pub/ 디렉토리의 컨텐츠 목록을 curl로 알려줌.
$ curl ftp://ftp.kernel.org/pub// List /pub/ contents /pub/
|
|