Linux中國

2 種從 Linux 終端下載文件的方法

wget 也許是 Linux 和類 UNIX 系統中使用最多的命令行下載管理器。你可以使用 wget 下載一個文件、多個文件、整個目錄甚至整個網站。

wget 是非互動式的,可以輕鬆地在後台工作。這意味著你可以很容易地在腳本中使用它,甚至構建像 uGet 下載管理器這樣的工具。

讓我們看看如何使用 wget 從終端下載文件。

安裝 wget

大多數 Linux 發行版都預裝了 wget。它也可以在大多數發行版的倉庫中找到,你可以使用發行版的包管理器輕鬆安裝它。

在基於 Ubuntu 和 Debian 的發行版上,你可以使用 apt 包管理器命令:

sudo apt install wget

使用 wget 下載文件或網頁

你只需要提供文件或網頁的 URL。它將在你所在的目錄下以原始名下載該文件。

wget URL

要下載多個文件,你必須將它們的 URL 保存在一個文本文件中,並將該文件作為輸入提供給 wget,就像這樣:

wget -i download_files.txt

用 wget 下載不同名字的文件

你會注意到,網頁在 wget 中幾乎總是以 index.html 的形式保存。為下載的文件提供自定義名稱是個好主意。

你可以在下載時使用 -O (大寫字母 O) 選項來提供輸出文件名:

wget -O filename URL

用 wget 下載一個文件夾

假設你正在瀏覽一個 FTP 伺服器,你需要下載整個目錄,你可以使用遞歸選項 -r

wget -r ftp://server-address.com/directory

使用 wget 下載整個網站

是的,你完全可以做到這一點。你可以用 wget 鏡像整個網站。我說的下載整個網站是指整個面向公眾的網站結構。

雖然你可以直接使用鏡像選項 -m,但最好加上:

  • –convert-links:鏈接將被轉換,使內部鏈接指向下載的資源,而不是網站。
  • –page-requisites:下載額外的東西,如樣式表,使頁面在離線狀態下看起來更好。
wget -m --convert-links --page-requisites website_address

額外提示:恢復未完成的下載

如果你因為某些原因按 CTRL-C 鍵中止了下載,你可以用選項 -c 恢復之前的下載:

wget -c

使用 curl 在 Linux 命令行中下載文件

wget 一樣,curl 也是 Linux 終端中最常用的下載文件的命令之一。使用 curl 的方法有很多,但我在這裡只關注簡單的下載。

安裝 curl

雖然 curl 並不是預裝的,但在大多數發行版的官方倉庫中都有。你可以使用你的發行版的包管理器來安裝它。

在 Ubuntu 和其他基於 Debian 的發行版上安裝 curl,請使用以下命令:

sudo apt install curl

使用 curl 下載文件或網頁

如果你在使用 curl 命令時沒有在 URL 中帶任何選項,它就會讀取文件並列印在終端上。

要在 Linux 終端中使用 curl 命令下載文件,你必須使用 -O(大寫字母 O)選項:

curl -O URL

在 Linux 中,用 curl 下載多個文件是比較簡單的。你只需要指定多個 URL 即可:

curl -O URL1 URL2 URL3

請記住,curl 不像 wget 那麼簡單。wget 可以將網頁保存為 index.htmlcurl 卻會抱怨遠程文件沒有網頁的名字。你必須按照下一節的描述用一個自定義的名字來保存它。

用不同的名字下載文件

這可能會讓人感到困惑,但如果要為下載的文件提供一個自定義的名稱(而不是原始名稱),你必須使用 -o(小寫 O)選項:

curl -o filename URL

有些時候,curl 並不能像你期望的那樣下載文件,你必須使用選項 -L(代表位置)來正確下載。這是因為有些時候,鏈接會重定向到其他鏈接,而使用選項 -L,它就會跟隨最終的鏈接。

用 curl 暫停和恢復下載

wget 一樣,你也可以用 curl-c 選項恢復暫停的下載:

curl -c URL

總結

和以往一樣,在 Linux 中做同一件事有多種方法。從終端下載文件也不例外。

wgetcurl 只是 Linux 中最流行的兩個下載文件的命令。還有更多這樣的命令行工具。基於終端的網路瀏覽器,如 elinksw3m 等也可以用於在命令行下載文件。

就個人而言,對於一個簡單的下載,我更喜歡使用 wget 而不是 curl。它更簡單,也不會讓你感到困惑,因為你可能很難理解為什麼 curl 不能以預期的格式下載文件。

歡迎你的反饋和建議。

via: https://itsfoss.com/download-files-from-linux-terminal/

作者:Abhishek Prakash 選題:lujun9972 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國