Linux系統中下載文件的wget命令行工具
簡介
Linux系統中的wget是一個下載文件的命令行工具。
對于Linux用戶是必不可少的工具,對于經常要下載一些軟件或從遠程服務器恢復備份到本地服務器,這個命令尤為重要。wget支持HTTP,HTTPS和FTP協議,可以使用HTTP代理。
自動下載
wget支持自動下載,即wget可以在用戶退出系統的之后在后臺執行。這意味這你可以登錄系統,啟動一個wget下載任務,然后退出系統,wget將在后臺執行直到任務完成,這是個牛氣沖天的功能。
完全重建
wget 可以跟蹤HTML頁面上的鏈接依次下載來創建遠程服務器的本地版本,完全重建原始站點的目錄結構。這又常被稱作”遞歸下載”。在遞歸下載的時候,wget 遵循Robot Exclusion標準(/robots.txt). wget可以在下載的同時,將鏈接轉換成指向本地文件,以方便離線瀏覽。
高穩定
wget 非常穩定,它在帶寬很窄的情況下和不穩定網絡中有很強的適應性.如果是由于網絡的原因下載失敗,wget會不斷的嘗試,直到整個文件下載完畢。如果是服務器打斷下載過程,它會再次聯到服務器上從停止的地方繼續下載。這對從那些限定了鏈接時間的服務器上下載大文件非常有用。
命令格式
wget [參數] [URL地址]
用于從網絡上下載資源,沒有指定目錄,下載資源回默認為當前目錄。wget雖然功能強大,但是使用起來還是比較簡單:
wget下面的特點是使用它主要考慮的方面:
- 支持斷點下傳功能,可以讓網絡不是太好的用戶可以放心了
- 同時支持FTP和HTTP下載方式;盡管現在大部分軟件可以使用HTTP方式下載,但是,有些時候,仍然需要使用FTP方式下載軟件
- 支持代理服務器
- 設置方便簡單;可能,習慣圖形界面的用戶已經不是太習慣命令行了,但是,命令行在設置上其實有更多的優點,最少,鼠標可以少點很多次,也不要擔心是否錯點鼠標
- 程序小,完全免費
使用范例
wget的命令參數很多,不過常用的為下面幾個,詳細的可以看最后。
使用wget下載單個文件
比如,我們下載個Ubuntu的最新版本,試下效果如何
- wget http://releases.ubuntu.com/16.04/ubuntu-16.04-desktop-amd64.iso
在下載的過程中會顯示進度條,包含(下載完成百分比,已經下載的字節,當前下載速度,剩余下載時間)。
使用wget -O下載并以不同的文件名保存
這個對于動態鏈接的下載比較有用
- wget -O wordpress.zip http://www.ubuntu.com/download.aspx?id=1234
使用wget –limit -rate限速下載
- wget --limit-rate=300k http://releases.ubuntu.com/16.04/ubuntu-16.04-desktop-amd64.iso
當你執行wget的時候,它默認會占用全部可能的寬帶下載。但是當你準備下載一個大文件,而你還需要下載其它文件時就有必要限速了。
使用wget -c斷點續傳
- wget -c http://releases.ubuntu.com/16.04/ubuntu-16.04-desktop-amd64.iso
使用wget -c重新啟動下載中斷的文件,對于我們下載大文件時突然由于網絡等原因中斷非常有幫助,我們可以繼續接著下載而不是重新下載一個文件。需要繼續中斷的下載時可以使用-c參數。
使用wget -b后臺下載
- wget -b http://releases.ubuntu.com/16.04/ubuntu-16.04-desktop-amd64.iso
對于下載非常大的文件的時候,我們可以使用參數-b進行后臺下載。
- wget -b http://releases.ubuntu.com/16.04/ubuntu-16.04-desktop-amd64.iso Continuing in background, pid 1840. Output will be written to `wget-log'.
你可以使用以下命令來察看下載進度:
- tail -f wget-log
使用wget –tries增加重試次數
- wget --tries=40 URL
如果網絡有問題或下載一個大文件也有可能失敗。wget默認重試20次連接下載文件。如果需要,你可以使用–tries增加重試次數。
使用wget -i下載多個文件
- wget -i filelist.txt
首先,保存一份下載鏈接文件
- cat > filelist.txt url1 url2 url3 url4
接著使用這個文件和參數-i下載
使用wget –reject過濾指定格式下載
- wget --reject=gif ur
下載一個網站,但你不希望下載圖片,可以使用以下命令。
使用wget -o把下載信息存入日志文件
- wget -o download.log URL
不希望下載信息直接顯示在終端而是在一個日志文件,可以使用
使用wget -Q限制總下載文件大小
- wget -Q5m -i filelist.txt
當你想要下載的文件超過5M而退出下載,你可以使用。注意:這個參數對單個文件下載不起作用,只能遞歸下載時才有效。
使用wget -r -A下載指定格式文件
- wget -r -A.pdf url
可以在以下情況使用該功能:
- 下載一個網站的所有圖片
- 下載一個網站的所有視頻
- 下載一個網站的所有PDF文件
使用wget FTP下載
可以使用wget來完成ftp鏈接的下載。
使用wget匿名ftp下載:
- wget ftp-url
使用wget用戶名和密碼認證的ftp下載
- wget --ftp-user=USERNAME --ftp-password=PASSWORD url