HOWTO · Linux

如何在 Linux 中使用 Wget 命令

我們可以在 Linux 中使用 wget 命令從 Internet 上使用 HTTP、HTTPS 和 FTP 協議下載檔案,有多種選項,如一次下載多個檔案、在後臺下載、限制頻寬等。

本頁內容

我們可以在 Linux 中使用 wget 命令通過 HTTP、HTTPS 和 FTP 協議從網際網路上下載檔案,並提供多種選項,如一次下載多個檔案、在後臺下載、限制頻寬等。

檢查 Linux 是否安裝了 wget

我們只要在終端上輸入 wget 命令,就可以檢查系統中是否安裝了 wget。

如果 wget 安裝在我們的系統中,我們得到的輸出是:

wget: missing URL
Usage: wget [OPTION]... [URL]...

Try 'wget --help' for more options.

如果 wget 沒有安裝在我們的系統中,我們得到的輸出為:

Command 'wget' not found, but can be installed with:

sudo snap install wget

如果系統中沒有安裝 wget,我們可以使用下面的命令進行安裝。

在 Ubuntu 和 Debian 中安裝 wget

sudo apt install wget

在 CentOS 和 Fedora 中安裝 wget

sudo yum install wget

wget 命令的語法

wget [options] [url]

options 是各種可用於定製下載過程的選項,url 是指需要下載或同步檔案的 URL。

用 wget 下載檔案

要使用 wget 命令下載檔案,我們只需在 wget 後面指定檔案倉庫的 URL 即可。

wget https://bloximages.newyork1.vip.townnews.com/redandblack.com/content/tncms/assets/v3/editorial/4/59/45940eb2-5403-11e9-a843-db0e4491cc90/5ca13d8453042.image.jpg

輸出:

--2020-09-28 19:29:15--  https://bloximages.newyork1.vip.townnews.com/redandblack.com/content/tncms/assets/v3/editorial/4/59/45940eb2-5403-11e9-a843-db0e4491cc90/5ca13d8453042.image.jpg
Resolving bloximages.newyork1.vip.townnews.com (bloximages.newyork1.vip.townnews.com)... 104.18.130.43, 104.18.131.43
Connecting to bloximages.newyork1.vip.townnews.com (bloximages.newyork1.vip.townnews.com)|104.18.130.43|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 33241 (32K) [image/jpeg]
Saving to: '5ca13d8453042.image.jpg'

5ca13d8453042.image 100%[===================>]  32.46K  --.-KB/s    in 0.003s  

2020-09-28 19:29:15 (11.1 MB/s) - '5ca13d8453042.image.jpg' saved [33241/33241]

它在給定的 URL 下載影象檔案,然後將下載的檔案儲存在我們當前的工作目錄中。

該命令首先解析 URL 的 IP 地址,然後開始下載。我們也可以在終端中看到下載進度條。

如果我們不想在終端中看到任何輸出,可以在 wget 命令中使用 -q 選項。

使用自定義檔名儲存使用 wget 下載的檔案

預設情況下,下載的檔名稱與網路上的相同。如果我們想用不同的檔名儲存檔案,我們可以在 -O 標誌後指定檔名。

wget -O linux.jpg https://bloximages.newyork1.vip.townnews.com/redandblack.com/content/tncms/assets/v3/editorial/4/59/45940eb2-5403-11e9-a843-db0e4491cc90/5ca13d8453042.image.jpg

它將下載的檔案儲存在我們當前的工作目錄中,檔名為 linux.jpg。

使用 wget 將下載的檔案儲存到特定的目錄下

預設情況下,所有下載的檔案都會儲存在當前的工作目錄中。要將下載的檔案儲存在特定的目錄中,我們使用 -P 選項,並在後面加上需要儲存下載檔案的目錄位置。

wget -P Downloads/Linux_Images https://bloximages.newyork1.vip.townnews.com/redandblack.com/content/tncms/assets/v3/editorial/4/59/45940eb2-5403-11e9-a843-db0e4491cc90/5ca13d8453042.image.jpg

它將下載的圖片儲存在下載目錄下的 Linux_Images 目錄中。

使用 wget 指定下載速度

如果我們不想使用所有可用的頻寬來使用 wget 下載檔案,則可以使用 --limit-rate 選項來限制檔案的下載速度。

wget -P --limit-rate=5m https://bloximages.newyork1.vip.townnews.com/redandblack.com/content/tncms/assets/v3/editorial/4/59/45940eb2-5403-11e9-a843-db0e4491cc90/5ca13d8453042.image.jpg

它將下載速度限制為 5mb。

使用 wget 恢復下載

如果我們的網路連線在下載一個大檔案的過程中突然中斷,重新開始下載檔案將是一項繁瑣的工作。在這種情況下,我們可以使用 -c 選項恢復下載。

wget -c https://bloximages.newyork1.vip.townnews.com/redandblack.com/content/tncms/assets/v3/editorial/4/59/45940eb2-5403-11e9-a843-db0e4491cc90/5ca13d8453042.image.jpg

在某些情況下,伺服器可能不支援恢復下載,在這種情況下,下載將從頭開始。

在後臺使用 wget 下載檔案

要在後臺使用 wget 下載檔案,我們在命令中新增 -b 選項。

wget -b https://releases.ubuntu.com/20.04/ubuntu-20.04.1-desktop-amd64.iso

它將在後臺下載 Ubuntu 20.04 映象檔案。

要檢視檔案的下載狀態,我們使用以下命令。

tail -f wget-log

改變 wget 的使用者代理

在某些情況下,伺服器可能會阻止 wget 使用者代理。在這種情況下,我們可以使用 -U 選項來模擬不同的瀏覽器。

get --user-agent="Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0" <url>

在這種情況下,Mozilla 68 將從 <url> 中請求檔案。

使用 wget 同時下載多個檔案

要使用 wget 下載多個檔案,我們製作一個 .txt,在單獨的一行上列出要下載的每個檔案的 URL。然後我們使用 wget 命令,在 -i 選項後面加上包含 URLs 的檔案路徑。

wget -i files.txt

這將從 files.txt 檔案中指定的 URL 下載所有檔案。

使用 wget 命令通過 FTP 下載檔案

要使用 wget 命令通過 FTP 下載檔案,我們使用 --ftp-user 選項指定使用者名稱,使用 --ftp-password 選項指定密碼。

wget --ftp-user=username --ftp-password=password <url>

它使用 FTP 協議從指定的 URL 下載檔案。

使用 wget 建立網站的副本

要使用 wget 建立一個網站的副本,我們使用 -m 選項,後面跟著要複製的 URL。

wget -m https://abc.com

這將通過下載網站所需的所有內部連結和靜態檔案來建立一個 abc.com 的副本。

如果我們想執行下載的網站,我們還需要新增 -k 和 -p 選項。

wget -m -k -p https://abc.com

使用 Wget 時跳過證書檢查

有時,我們需要從主機上下載一個檔案,但沒有有效的 SSL 證書,使用 HTTPS 協議。在這種情況下,我們使用 --no-check-certificate 選項來跳過證書檢查。

wget --no-check-certificate <url>