運維之道 | Linux下載命令wget解析

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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章