原來我的御用下載完關鍵軟件是Firefox的DownThemAll配合Auto Shutdown插件,但Firefox4就比較悲劇,因為Auto Shutdown插件開發者不繼續維護了Ubuntu/Debian
axel+腳本實現『下載完關機』" alt="Ubuntu/Debian axel+腳本實現『下載完關機』" src="http://www.sinaimg.cn/uc/myshow/blog/misc/gif/E___6706EN00SIGG.gif" TYPE="face">。
Google之後發現原來Linux下有個叫『axel』的輕量級下載器,基於命令行,支持多線程、斷點續傳等多種功能,也有前端程序叫做『axel-kapt』。
其實我需要axel這個軟件也就是為了解決下載完關機問題,因此也不需要前端了,就命令行用用可以了。
『如何實現下載完關機』
看這篇文章的多數童鞋們可能都是為了尋找直觀的答案來的,所以我就先說解決方法,至於參數的含義我都作為附錄了。
您也可以使用 man axel 來查看具體命令。
Ubuntu /Debian 中關機功能是由調用 /sbin/shutdown 來實現的,首先,需要開通執行它的權限,我就比較懶了,設置為所有人都可以運行此命令:
$ sudo chmod a+x /sbin/shutdown
之後新建一個文本文檔,其中的內容為:
"
cd /<存放下載文件的目錄>/
axel -n 10 -a file-url1 file-url2 ....... # 10線程,不以刷屏形式顯示下載進度
cd /<另一個存放下載文件的目錄>/ #存放電影的文件,或者資料的文件,需要放在不同的目錄中,根據您的喜好來設置。
axel -n 10 -a file-url-1 file-url-2 .......
sudo /sbin/shutdown -P now # 關機命令
"
我就把他取名為shad(shutdown after downloading),存放在桌面上。
下次睡前要下載什麼文件,譬如下載64位Ubuntu的iso,我的腳本就如下:
"
cd /path/to/ubuntu/iso/
axel -n 10 -a http://releases.ubuntu.com/10.10/ubuntu-10.10-alternate-amd64.iso
sudo /sbin/shutdown -P now
"
然後打開終端:
cd ~/桌面 && sh ./shad
這個文件可以反復利用,下次下載其他文件時,只需要修改其中的file-url就可以了。
好了,就關掉顯示器,安心地睡覺吧!
我也去睡了,就讓電腦在下載完Ubuntu 64位版後自動關閉吧。
以下為 axel 幫助文檔節選內容:
名
Axel - Linux 下輕量的下載加速器。
總
axel [選項] url1 [url2] [url...]
描
Axel 是一個通過多個連接從一個 HTTP 或 FTP 服務器下載文件的程序,每個連接下載文件的一部分。
跟其它程序不一樣, Axel 會使用單一線程直接下載所有數據到目標文件。
這樣正好可以節省時間,因為程序沒有必要如鎖鏈般連接到所有要下載的部分。
選
必需要有一個參數--您想下載的文件的 URL 。當從 FTP 下載,文件名可能包含通配符,程序會嘗試解析完整的文件名。
也可以指定多個 URL ,程序將會通過那些地址下載。請注意,程序不會檢查文件是否相同。
其它選項:
--max-speed=x, -s x
您可以在這裡指定一個速率(每秒字節,B/s), Axel 將會嘗試保持平均速率在這個速率附近。它很有用──如果您不想程序吃掉您所有的帶寬。
--num-connections=x, -n x
您可以在這裡指定一個最終連接數。
--output=x, -o x
下載的數據將會被保存為一個跟 URL 地址文件名同名的本地文件,除非您使用這個選項指定使用一個不一樣的名字。
您也可以指定一個目錄,程序將會追加文件名。
--search[=x], -S[x]
Axel 能使用 filesearching.com 搜索引擎,對鏡像執行搜索。您使用這個選項它才會這麼做。
您也可以指定應該使用多少個不同的鏡像來下載。
對鏡像搜索非常耗時,因為程序會測試每個服務器的速率,與及文件是否仍然有效。
--no-proxy, -N
不使用代理服務器下載文件。當然,當一個透明代理是有效時,這是不可能的。
--verbose
如果您想看到更多的狀態信息,您可以使用這個選項。如果您想看到更多,就使用它多幾次。
--quiet, -q
不輸出到標准輸出(stdout)。
--alternate, -a
這將會顯示一個文本進度指示器。一個顯示不同線程進度和狀態,當前速率和評估剩余下載時間的棒形圖。