wget 指令(下載檔案) – 基本用法

技術文章, 程式應用

這裡介紹如何在 Linux 中使用 wget 指令,自動從網路上下載各種的網頁、檔案或目錄。

wget 是一個功能強大的自動檔案下載工具,在大部份的 Linux 系統上都會內建這個指令,其支援各式各樣的下載方式,以下將介紹 wget 的使用方式,以及各式各樣的指令稿範例。

 

■ 基本下載檔案

 

若要下載網路上的檔案,可執行 wget 加上檔案的網址即可立即下載:

 

wget http://ftp.gnu.org/gnu/wget/wget-1.19.tar.gz

 

wget 也支援 FTP 協定:

 

wget ftp://ftp.gnu.org/gnu/wget/wget-1.19.tar.gz

 

若要一次下載多個檔案,就把所有的網址都放在 wget 的參數中即可:

wget http://ftp.gnu.org/gnu/wget/wget-1.19.tar.gz \

  http://ftp.gnu.org/gnu/wget/wget-1.19.tar.gz.sig

 

 

■ 指定儲存的檔名

 

若要指定下載檔案儲存在硬碟中的檔名,可以使用 -O 參數:

 

wget -O wget.tar.gz http://ftp.gnu.org/gnu/wget/wget-1.19.tar.gz

 

 

■ 從檔案中讀取網址

 

如果要下載的檔案非常多,我們可以將所有的網址放在文字檔中(一行一個網址),讓 wget 直接從檔案中讀取網址來下載檔案。

假設存放網址的 url.txt 檔案內容如下:

 

http://ftp.gnu.org/gnu/wget/wget-1.18.tar.gz

http://ftp.gnu.org/gnu/wget/wget-1.18.tar.gz.sig

http://ftp.gnu.org/gnu/wget/wget-1.19.tar.gz

http://ftp.gnu.org/gnu/wget/wget-1.19.tar.gz.sig

 

使用 wget 一次下載所有的檔案:

 

wget -i url.txt

 

 

■ 檔案續傳

 

如果下載大型檔案中途斷線,檔案只下載了一部分,這時候可以使用 wget 的 -c 參數從上次中斷的地方繼續下載,例如續傳 Ubuntu Linux 的 iso 檔:

 

wget -c http://releases.ubuntu.com/16.04.3/ubuntu-16.04.3-desktop-amd64.iso

 

進行續傳的時候,進度列中會以加號表示之前下載的部分:

 

 

如果斷線後重新下載檔案,但沒有加上 -c 參數的話,wget 會自動將後來下載檔案的檔名加上 .1、.2 等數字,分開儲存同一個檔案下載多次的結果。

 

 

■ 背景下載

 

如果下載的檔案很大,要等很久的話,可以使用 -b 參數讓 wget 在背景慢慢下載,並指定一個紀錄輸出訊息用的記錄檔:

 

wget -b wget_log.txt http://releases.ubuntu.com/16.04.3/ubuntu-16.04.3-desktop-amd64.iso

 

這樣 wget 就會自動在背景下載檔案,將所有的訊息寫在 wget_log.txt 這個檔案中。

 

 

■ 限制檔案下載速度

 

如果不想讓 wget 在下載檔案時,佔用了全部的網路頻寬,可以使用 –limit-rate 參數指定檔案下載的速度上限值:

 

wget –limit-rate=100k http://releases.ubuntu.com/16.04.3/ubuntu-16.04.3-desktop-amd64.iso

 

這個例子會把檔案下載速度限制在每秒 100KB 以內:

 

 

 

■ HTTP 與 FTP 的帳號與密碼

 

wget 也可以從需要帳號與密碼的伺服器下載檔案,若是 http 的網頁伺服器則使用:

 

wget –http-user=my_user \

     –http-password=my_password \

     http://www.example.com/my_file

 

若是 FTP 的伺服器,則使用:

 

wget –ftp-user=my_user \

     –ftp-password=my_password \

     ftp://ftp.example.com/my_file

 

 

■ 重新嘗試次數

 

在網路很不穩定時,可以嘗試使用 –tries 增加重新嘗試次數,讓 wget 持續嘗試下載檔案:

 

wget –tries=50 http://releases.ubuntu.com/16.04.3/ubuntu-16.04.3-desktop-amd64.iso

 

 

來源出處:https://blog.gtwang.org/linux/linux-wget-command-download-web-pages-and-files-tutorial-examples/

 

 

Gimmy
作者: Gimmy
積極的人在每一次憂患中都看到一個機會 而消極的人則在每個機會都看到某種憂患

發表迴響