Linux下載命令 wget 解析
一、wget 命令介紹
- wget 工具體積小但功能完善,它支持斷點下載功能;
- 同時支持 FTP 和 HTTP下載方式,支持代理服務器和設置起來方便簡單;
- wget 的pro版是 mwget,多線程下載;同類下載工具curl;
它有以下功能和特點
- 支持斷點下傳功能:這一點,也是網絡螞蟻和FlashGet當年最大的賣點,現在,Wget也可以使用此功能,那些網絡不是太好的用戶可以放心了;
- 同時支持FTP和HTTP下載方式:儘管現在大部分軟件可以使用HTTP方式下載,但是,有些時候,仍然需要使用FTP方式下載軟件;
- 支持代理服務器:對安全強度很高的系統而言,一般不會將自己的系統直接暴露在互聯網上,所以,支持代理是下載軟件必須有的功能;
- 設置方便簡單:可能,習慣圖形界面的用戶已經不是太習慣命令行了,但是,命令行在設置上其實有更多的優點,最少,鼠標可以少點很多次,也不要擔心是否錯點鼠標;
- 程序小,完全免費:程序小可以考慮不計,因爲現在的硬盤實在太大了;完全免費就不得不考慮了,即使網絡上有很多免費軟件,但是,這些軟件的廣告不是我們喜歡的;
二、wget 使用示例解析
1、使用 wget 從網上下載單個文件
命令:wget http://cn.wordpress.org/wordpress-3.1-zh_CN.zip
在下載的過程中會顯示進度條,包含(下載完成百分比,已經下載的字節,當前下載速度,剩餘下載時間)。
2、使用 wget -O 下載並以不同的文件名保存
wget默認會以最後一個符合”/”的後面的字符來命名,對於動態鏈接的下載通常文件名會不正確
- 錯誤:下面的例子會下載一個文件並以名稱download.php-id=1080保存
命令:wget http://www.centos.bz/download.php-id=1080
即使下載的文件是zip格式,它仍然以download.php-id=1080命令。- 正確:爲了解決這個問題,我們可以使用參數-O來指定一個文件名:
命令:wget -O wordpress.zip http://www.centos.bz/download.php-id=1080
3、使用 wget --limit -rate 限速下載
- 當你執行wget的時候,它默認會佔用全部可能的寬帶下載
- 但是當你準備下載一個大文件,而你還需要下載其它文件時就有必要限速了
命令:wget –limit-rate=300k http://cn.wordpress.org/wordpress-3.1-zh_CN.zip
4、使用 wget -c 斷點續傳
- 當文件特別大或者網絡特別慢的時候,往往一個文件還沒有下載完,連接就已經被切斷,此時就需要斷點續傳
- wget的斷點續傳是自動的,只需要使用 -c 參數。使用斷點續傳要求服務器支持斷點續傳
命令:wget -c http://the.url.of/incomplete/file- -t 參數表示重試次數,例如需要重試100次,那麼就寫-t 100,如果設成-t 0,那麼表示無窮次重試,直到連接成功。
- -T 參數表示超時等待時間,例如-T 120,表示等待120秒連接不上就算超時。
5、使用 wget -b 後臺下載
- 對於下載非常大的文件的時候,我們可以使用參數-b進行後臺下載
命令:wget -b http://cn.wordpress.org/wordpress-3.1-zh_CN.zip- 你可以使用命令來察看下載進度 :tail -f wget-log
6、使用 wget --spider 測試下載鏈接
- 當你打算進行定時下載,你應該在預定時間測試下載鏈接是否有效
- 我們可以增加–spider參數進行檢查。 wget –spider URL
如果下載鏈接正確,將會顯示
wget –spider URL
Spider mode enabled. Check if remote file exists.
HTTP request sent, awaiting response… 200 OK
Length: unspecified [text/html]
Remote file exists and could contain further links,
but recursion is disabled — not retrieving.
如果下載鏈接錯誤,將會顯示
wget –spider url
Spider mode enabled. Check if remote file exists.
HTTP request sent, awaiting response… 404 Not Found
Remote file does not exist — broken link!!!- 你可以在以下幾種情況下使用spider參數:
1、定時下載之前進行檢查
2、間隔檢測網站是否可用
3、檢查網站頁面的死鏈接
7、使用 wget --tries 增加重試次數
- 如果網絡有問題或下載一個大文件也有可能失敗
- wget默認重試20次連接下載文件。如果需要,你可以使用–tries增加重試次數
命令:wget –tries=40 URL
8、使用 wget -i 下載多個文件 (批量下載)
- 如果有多個文件需要下載,那麼可以生成一個文件,把每個文件的 URL 寫一行
例如:生成文件 download.txt、然後用命令:wget -i download.txt- 這樣就會把download.txt裏面列出的每個URL都下載下來。(如果列的是文件就下載文件,如果列的是網站,那麼下載首頁)
- 首先,保存一份下載鏈接文件
vim download.txt
url1
url2
url3
url4- 接着使用這個文件和參數-i下載
命令:wget -i download.txt
9、使用 wget --mirror 鏡像網站
- 下面的例子是下載整個網站到本地
命令:wget –mirror -p –convert-links -P ./LOCAL URL- –miror:開戶鏡像下載
- -p:下載所有爲了html頁面顯示正常的文件
- –convert-links:下載後,轉換成本地的鏈接
- -P ./LOCAL:保存所有文件和目錄到本地指定目錄
10、使用 wget --reject 過濾指定格式下載
- 可以指定讓 wget 只下載一類文件,或者不下載什麼文件
命令: wget -m –reject=gif http://target.web.site/subdirectory
表示下載 http://target.web.site/subdirectory,但是忽略gif文件。
–accept=LIST 可以接受的文件類型,
–reject=LIST 拒絕接受的文件類型。- 你想下載一個網站,但你不希望下載圖片,你可以使用以下命令
命令:wget –reject=gif url
11、使用 wget -o 把下載信息存入日誌文件
- 如果不希望下載信息直接顯示在終端而是在一個日誌文件,可以使用以下命令:
命令:wget -o download.log URL
12、使用 wget -Q 限制總下載文件大小
- 當你想要下載的文件超過5M而退出下載,你可以使用以下命令
命令:wget -Q5m -i filelist.txt- 注意:這個參數對單個文件下載不起作用,只能遞歸下載時纔有效。
13、使用 wget -r -A 下載指定格式文件
- 可以在以下情況使用該功能
下載一個網站的所有圖片
下載一個網站的所有視頻
下載一個網站的所有PDF文件
命令:wget -r -A.pdf url