本文出自:資訊隨筆


curl 和 wget 一樣都是功能非常強大的檔案下載工具,有時用 Linux 就會感到很驚奇,一個小小的程式,功能竟是如此強大。
下載單一檔案
# curl -O http://nchc.dl.sourceforge.net/sourceforge/stardict/stardict-3.0.1.exe
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Currentstardict/stardict-3.0.1.exe"
                                 Dload  Upload   Total   Spent    Left  Speedge/stardict/stardict-3.0.
100 13.2M  100 13.2M    0     0  1003k      0  0:00:13  0:00:13 --:--:-- 1026k

下載連續有規則的檔案
# curl -O http://192.168.1.1/images/computerclass_[00-12].png

分段下載,就是功能類似 Windows 平台的 flashget
# curl -r 0-10000000 -o Archlinux-i686-2007.08-2.ftp.iso.part1 ftp://192.168.1.1/ISO/Archlinux/2007.08/i686/Archlinux-i686-2007.08-2.ftp.iso & curl -r 10000001-20000000 -o Archlinux-i686-2007.08-2.ftp.iso.part2 ftp://192.168.1.1/ISO/Archlinux/2007.08/i686/Archlinux-i686-2007.08-2.ftp.iso & curl -r 20000001-31485952 -o Archlinux-i686-2007.08-2.ftp.iso.part3 ftp://192.168.1.1/ISO/Archlinux/2007.08/i686/Archlinux-i686-2007.08-2.ftp.iso

以上的指令就將 Archlinux-i686-2007.08-2.ftp.iso 拆成三個小檔案分別下載。後面的 "&" 代表把這個程式丟到背景執行。參數 -r 代表range,要下載的檔案範圍。注意,是從 0 開始的,不是從 1 。所以,以上的指令會將第 1 到10000000bytes 的部份下載到 Archlinux-i686-2007.08-2.ftp.iso.part1,第 1000000120000000bytes 的部份下載到 Archlinux-i686-2007.08-2.ftp.iso.part2-o 則是代表要輸出的檔名。

把檔案結合起來
# cat Archlinux-i686-2007.08-2.ftp.iso.part* > Archlinux-i686-2007.08-2.ftp.iso

# ls -l
總計 216536
-rw-r--r-- 1 root root  31485952  1月  3 13:44 Archlinux-i686-2007.08-2.ftp.iso
-rw-r--r-- 1 root root  10000001  1月  3 13:43 Archlinux-i686-2007.08-2.ftp.iso.part1
-rw-r--r-- 1 root root  10000000  1月  3 13:43 Archlinux-i686-2007.08-2.ftp.iso.part2
-rw-r--r-- 1 root root  11485951  1月  3 13:43 Archlinux-i686-2007.08-2.ftp.iso.part3


更詳細的用法可以使用 curl --help 來查看一下
# curl --help

參考網站:
Curl:http://yllan.org/mac/Terminal/curl/
curl - DebianWiki:http://tavi.debian.org.tw/index.php?page=curl
創作者介紹

胖虎的祕密基地

idobest 發表在 痞客邦 PIXNET 留言(1) 人氣()


留言列表 (1)

發表留言
  • Facemaskman
  • 教實說,這樣的操作...
    也沒有很方便說