我們一想到Linux,肯定會想到黑白終端,真正的Linux使用者總是偏愛從終端來進行工作,哪怕是用於下載。相比某種GUI工具,命令列下載工具可以幫助使用者更迅速地從網上下載任何東西。有許多可滿足一般用途、甚至用於torrent的下載工具,不過相比其它工具,只有像curl或者wget這少數幾款工具更受歡迎。我們在本教程中將探討用於在Linux環境中下載的十大命令列工具。不妨逐一探討這些CLI工具。
1.Wget
這是最有名的工具,可用於透過CLI下載。這款工具功能很豐富,可以充當某種功能完備的GUI下載管理器,它擁有一款理想的下載管理器所需要的所有功能,比如它可以恢復下載,可以下載多個檔案,出現某個連線問題後,可以重新嘗試下載,你甚至可以管理最大的下載頻寬。
例子
從網上下載某個示例檔案:
# wget http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp4
示例輸出:
--2016-05-11 16:56:23-- http://www.sample-
videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp4
Resolving www.sample-videos.com (www.sample-videos.com)...
166.62.28.98
Connecting to www.sample-videos.com (www.sample-
videos.com)|166.62.28.98|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1055736 (1.0M)
Saving to: ‘big_buck_bunny_720p_1mb.mp4’
100%[==========================================================================================================>] 10,55,736 52.1KB/s in 24s
2016-05-11 16:56:47 (43.4 KB/s) - ‘big_buck_bunny_720p_1mb.mp4’ saved [1055736/1055736]
後臺下載檔案:
# wget -b http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp4
如果網際網路連線出現中斷,恢復下載。
# wget -c http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp4
從某個密碼保護的ftp軟體庫下載檔案。
# wget --ftp-user=<user_name> --ftp-password=<Give_password> Download-url-address
2.Curl
Curl是另一種高效的下載工具,它可以用來上傳或下載檔案,只要使用一個簡單的命令。它支援暫停和恢復下載程式包,並支援數量最多的Web協議,可預測下載完成還剩餘多少時間,可透過進度條來顯示下載進度。它是所有Linux發行版的內建工具。這是一款快速高效的工具,不妨看一下。
例子:
# curl -o um.mp4 http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp4
示例輸出:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1030k 100 1030k 0 0 105k 0 0:00:09 0:00:09 --:--:-- 111k
藉助-o選項,提供名稱,下載檔案會以該名稱儲存;如使用-O選項,檔案就會以原始名稱儲存。
# curl -O http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp4
使用一個curl命令,下載多個檔案。
# curl -O http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_2mb.mp4 -O
3.Axel
這是wget的出色替代者,是一款輕量級下載實用工具。它實際上是個加速器,因為它開啟了多路http連線,可下載獨立檔案片段,因而檔案下載起來更快速。
安裝
# apt-get install axel
例子
# axel http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp4
Initializing download: http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp4
示例輸出:
File size: 1055736 bytes
Opening output file big_buck_bunny_720p_1mb.mp4.0
Starting download
[ 0%] .......... .......... .......... .......... .......... [ 64.9KB/s]
[ 4%] .......... .......... .......... .......... .......... [ 83.0KB/s]
[ 9%] .......... .......... .......... .......... .......... [ 91.5KB/s]
[ 14%] .......... .......... .......... .......... .......... [ 96.8KB/s]
[ 19%] .......... .......... .......... .......... .......... [ 100.2KB/s]
[ 24%] .......... .......... .......... .......... .......... [ 102.7KB/s]
[ 29%] .......... .......... .......... .......... .......... [ 104.6KB/s]
[ 33%] .......... .......... .......... .......... .......... [ 86.9KB/s]
[ 38%] .......... .......... .......... .......... .......... [ 77.1KB/s]
[ 43%] .......... .......... .......... .......... .......... [ 64.8KB/s]
[ 48%] .......... .......... .......... .......... .......... [ 66.8KB/s]
[ 53%] .......... .......... .......... .......... .......... [ 72.8KB/s]
[ 58%] .......... .......... .......... .....
Connection 1 finished
,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,, ,,,,,..... .......... [ 74.1KB/s]
[ 63%] .......... .......... .......... .......... .......... [ 79.8KB/s]
[ 67%] .......... .......... .......... .......... .......... [ 84.5KB/s]
[ 72%] .......... .......... .....
Connection 2 finished
,,,,,,,,, ,,,,,,,,,, ,,,,,..... .......... .......... [ 86.3KB/s]
[ 77%] .......... .......... .......... .......... .......... [ 91.6KB/s]
[ 82%] .......... .......... .......... .......... .......... [ 96.7KB/s]
[ 87%] .......... .......... .......... .......... .......... [ 101.6KB/s]
[ 92%] .......... .......... .......... ...
Connection 0 finished
,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,, ,,,....... .......... [ 105.9KB/s]
[ 96%] .......... .......... ..........
Downloaded 1031.0 kilobytes in 9 seconds. (108.66 KB/s)
4.Youtube-dl
這是一款專用工具,可以透過命令列從YouTube下載影片,這是個易於安裝的程式包,可用來下載一大批檔案。
安裝
# curl https://yt-dl.org/latest/youtube-dl -o /usr/local/bin/youtube-dl
變更檔案許可權:
# sudo chmod a+rx /usr/local/bin/youtube-dl
例子
下載一些影片,只要為命令新增影片URL引數。
# youtube-dl https://www.youtube.com/watch?v=UZW2hs-2OAI
想下載影片列表,將所有URL複製到一個文字檔案中,然後執行下面這個命令:
-
# youtube-dl -a <name_of_your_text_file.txt>
示例輸出:
virtual-System-Product-Name prozilla-2.0.4-master # youtube-dl -a url.txt
[youtube] xEf8A7X53YE: Downloading webpage
[youtube] xEf8A7X53YE: Downloading video info webpage
[youtube] xEf8A7X53YE: Extracting video information
[youtube] xEf8A7X53YE: Downloading MPD manifest
[download] Destination: EIC Outrage - Salute to Indian Athletes!-xEf8A7X53YE.mp4
[download] 3.9% of 70.87MiB at 82.53KiB/s ETA 14:04
5.Aria2
這是一種開源命令列下載加速器,支援多個埠,你可以使用最大頻寬來下載檔案,是一款易於安裝、易於使用的工具。
安裝
# apt-get install aria2
### 針對centOS
# yum install aria2
例子
# aria2c http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp4
示例輸出:
[#28c7dd 0.9MiB/1.0MiB(93%) CN:1 DL:70KiB ETA:1s]
05/11 23:06:47 [NOTICE] Download complete:
/home/virtual/Desktop/prozilla-2.0.4-master/big_buck_bunny_720p_1mb.mp4
Download Results:
gid |stat|avg speed |path/URI
======+====+===========+=======================================================
28c7dd|OK | 72KiB/s|/home/virtual/Desktop/prozilla-2.0.4-master/big_buck_bunny_720p_1mb.mp4
Status Legend:
(OK):download completed.
6.Movgrab
這是用於下載影片的另一款高效工具,使用movgrab的優點在於,它不僅可以從YouTube下載影片,還可以從幾乎所有的知名網站下載影片,比如metacafe、dailiymotion、 ehow和vobx等。這是一款很快速的工具,可以定義影片格式,還可以恢復下載。
安裝
可以從該連結下載程式包。
解壓縮程式包:
# tar -xvf movgrab-1.2.1.tar.gz
# cd movgrab-1.2.1
# ./configure
# make
# make install
使用命令下載程式包
下載名稱指定的檔案:
# movgrab Youtube_url
指定輸出檔案:
# movgrab -o example.mp4 video_url
使用maovgrab –h,即可瞭解更多的細節。
7.rtorrent
這種知名的命令列torrent客戶軟體隨附在所有Linux發行版中,它需要screen實用工具才能正常執行。
安裝
安裝screen:
# apt-get install screen
安裝rtorrent :
# apt-get install rtorrent
例子
# rtorrent example.torrent
8.ctorrent
C-torrent是最簡單的命令列torrent下載工具,可以迅速安裝,也是micro-torrent或utorrent的優秀替代者。
安裝
# apt-get install ctorrent
例子
我們不妨下載一份最新版本的Ubuntu server 16.04。
# ctorrent ubuntu-16.04-server-amd64.iso.torrent
使用ctorrent –h,即可瞭解更多選項。
9.Transmission-cli
Transmission的這個命令列版本是一款非常強大的工具,可用於下載torrent。易於安裝,它需要screen這個依賴項。
安裝
# apt-get install transmission-cli transmission-daemon transmission-common
安裝screen
# apt-get install screen
例子
# screen -a /usr/bin/transmission-cli -p 25000 ubuntu-16.04-server-amd64.iso.torrent
10.vuze
這是一種全面的torrent下載解決方案,佔用資源極少,是功能最強大的torrent應用程式之一,它需要Java才能在控制檯上執行,所以確保你已將open jdk的jre安裝到系統上,它同樣需要screen程式包。
安裝
可以直接從該連結下載,下載後解壓縮程式包。
# tar -xvf VuzeInstaller.tar.bz2
# cd vuze
有一些依賴項必須下載,從該連結獲取必要的外掛。
將這些.jar外掛複製到vuze目錄:
# cp *.jar vuze
執行下面這個命令:
# java -cp "Azureus2.jar:commons-cli.jar:log4j.jar" org.gudy.azureus2.ui.common.Main --ui=console
上述命令成功執行後,執行下面這個命令來啟動
# screen java -jar Azureus2.jar --ui=console
使用help命令,給add命令新增上.torrent檔案的路徑,即可開始下載。
結束語
相比基於GUI的torrent或下載管理器,命令列工具來得更高效而快速。這些工具在無外設伺服器中扮演重要角色,可以控制慢速網際網路連線中的頻寬使用。
請盡情享用!