如何從Linux命令行下載文件

在本指南中,您將學習如何使用Linux命令行下載文件。

你為什麼想做這個? 為什麼不在圖形環境中使用Web瀏覽器?

有時候沒有圖形環境。 例如,如果您使用SSH連接到您的Raspberry PI,那麼您主要是使用命令行。

使用命令行的另一個原因是您可以創建一個包含要下載的文件列表的腳本。 然後,您可以執行腳本並讓它在後台運行

將為此任務突出顯示的工具稱為wget。

安裝wget

許多Linux發行版都默認安裝了wget。

如果尚未安裝,請嘗試以下命令之一:

如何從命令行下載文件

為了下載文件,您至少需要知道您希望下載的文件的URL。

例如,假設你想使用命令行下載最新版本的Ubuntu。 你可以訪問Ubuntu網站。 通過瀏覽網站,您可以訪問此頁面,該鏈接提供了一個鏈接,下載即時鏈接。 您可以右鍵單擊此鏈接以獲取您希望下載的Ubuntu ISO的URL。

使用以下語法使用wget下載文件:

wget http://releases.ubuntu.com/14.04.3/ubuntu-14.04.3-desktop-amd64.iso?_ga=1.79650708.1078907269.1453803890

這一切都很好,但你需要知道你需要下載的文件的完整路徑。

可以使用以下命令下載整個站點:

wget -r http://www.ubuntu.com

上述命令從Ubuntu網站複製整個站點,包括所有文件夾。 這當然不可取,因為它會下載大量不需要的文件。 這就像使用木槌來炸殼。

但是,您可以使用以下命令從Ubuntu網站下載帶ISO擴展名的所有文件:

wget -r -A“iso”http://www.ubuntu.com

這對於從網站下載所需的文件來說仍然是一個非常好的方法。 知道您想下載的文件的URL或URL會好得多。

您可以使用-i開關指定要下載的文件列表。 您可以使用文本編輯器創建一個URL列表,如下所示:

nano filestodownload.txt

在文件中輸入一個URL列表,每行1個:

http://eskipaper.com/gaming-wallpapers-7.html#gal_post_67516_gaming-wallpapers-1.jpg
http://eskipaper.com/gaming-wallpapers-7.html#gal_post_67516_gaming-wallpapers-2.jpg
http://eskipaper.com/gaming-wallpapers-7.html#gal_post_67516_gaming-wallpapers-3.jpg

使用CTRL和O保存文件,然後使用CTRL和X退出nano。

您現在可以使用wget使用以下命令下載所有文件:

wget -i filestodownload.txt

從互聯網下載文件的麻煩是有時文件或URL不可用。 連接的超時時間可能需要一段時間,如果您嘗試下載大量文件,則會等到默認的超時時間會產生反效果。

您可以使用以下語法指定您自己的超時值:

wget -T 5 -i filestodownload.txt

如果你有一個下載限製作為你的寬帶交易的一部分,那麼你可能希望限制wget可以檢索的數據量。

使用以下語法來應用下載限制:

wget --quota = 100m -i filestodownload.txt

一旦達到100兆字節,上述命令將停止下載文件。 您還可以以字節為單位指定配額(使用b而不是m)或千字節(使用k而不是m)。

您可能沒有下載限制,但您的網絡連接可能較慢。 如果你想在不破壞每個人的上網時間的情況下下載文件,那麼你可以指定一個設置最大下載速度的限制。

例如:

wget --limit-rate = 20k -i filestodownload.txt

上述命令將下載速率限制為每秒20千字節。 您可以指定以字節,千字節或兆字節為單位的金額。

如果您想確保任何現有文件都不會被覆蓋,您可以運行以下命令:

wget -nc -i filestodownload.txt

如果書籤列表中的文件已經存在於下載位置,則不會被覆蓋。

我們知道的互聯網並不總是一致的,因此,下載可以部分完成,然後您的互聯網連接就會中斷。

如果你能繼續離開你的地方,這不是件好事嗎? 您可以使用以下語法繼續下載:

wget -c

概要

wget命令有幾十個可以應用的開關。 使用命令man wget從終端窗口中獲取它們的完整列表。