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