Linux command – wget & curl

Linux 在文字模式下,要如何透過網站來下載資料,文字模式下通常無法開啟 web browser 瀏覽器,所以我通常會透過 wget 或是 curl 來下載資料.

wget

雖然 Ubuntu 可以透過 #apt-get 安裝套件,但某一些很特殊的套件是必須到官方網站透過 http 才能下載到的時候,這時候 #wget 就很好用了,直接在文字模式下指令就可以下載,除了 http 之外 #wget 也支援另外兩個常見的 TCP/IP 協定如 HTTPS , 以及 FTP .

下載方式如下,只需要知道連結即可進行下載,其他參數請參考 #man wget

[root@localhost ~]# wget ftp://rpmfind.net/linux/dag/redhat/el5/en/i386/dag/RPMS/pkcs11-helper-1.08-1.el5.rf.i386.rpm
[root@localhost ~]# wget http://swupdate.openvpn.org/community/releases/openvpn-2.2.1.tar.gz

不單單是套件,只要有支援 http , https , ftp 下載的都可以.

curl

#curl 比較像是一個文字版的 web browser 瀏覽器,只要是 http 的資料都可以透過他來下載.
如你要取得某網頁的內容,就可以透過下面令來做,不過內容一樣是文字,很像是我們在看網頁時,可以去 檢視 html 的原始碼.

[root@localhost ~]# curl https://benjr.tw

curl -o file 參數可以讓我們下載檔案.

[root@localhost ~]# curl -o pkcs11-helper-1.08-1.el5.rf.i386.rpm ftp://rpmfind.net/linux/dag/redhat/el5/en/i386/dag/RPMS
/pkcs11-helper-1.08-1.el5.rf.i386.rpm
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  127k  100  127k    0     0  17621      0  0:00:07  0:00:07 --:--:-- 27584

再加上參數 -C (使用 -C – 表示自動回復下載).

[root@localhost ~]# curl -C - -o pkcs11-helper-1.08-1.el5.rf.i386.rpm ftp://rpmfind.net/linux/dag/redhat/el5/en/i386/dag
/RPMS/pkcs11-helper-1.08-1.el5.rf.i386.rpm
** Resuming transfer from byte position 130945
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0  127k    0     0    0     0      0      0 --:--:--  0:00:04 --:--:--     0

想要有更多資訊可以使用參數
-i – Include the HTTP response headers in the output.

[root@localhost ~]# curl -i https://www.google.com

-I – (HTTP FTP FILE) Fetch the headers only.

[root@localhost ~]# curl -I https://www.google.com

或是
-v – Makes curl verbose during the operation.

[root@localhost ~]# curl -v https://www.google.com

參數 -u 可以指定用登入帳號與密碼.

[root@localhost ~]# curl -u USERNAME:PASSWORD https://www.example.com/

參數 -x 可以指定代理伺服器 ( proxy ) 位址

[root@localhost ~]# curl -x 192.168.5.1:8888 https://www.google.com.tw/
沒有解決問題,試試搜尋本站其他內容

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料