版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、linux用wget命令行方式進行網(wǎng)絡(luò)下載文件:wget 命令 wget的使用形式是:wget參數(shù)列表url,接下來是辦公室歐陽老師為大家收集的linux用wget命令行方式進行網(wǎng)絡(luò)下載文件,歡迎大家閱讀:linux用wget命令行方式進行網(wǎng)絡(luò)下載文件首先來介紹一下wget的主要參數(shù): -b:讓wget在后臺運行,記錄文件寫在當前目錄下wget-log文件中; -t nuber of times:嘗試次數(shù),當wget無法與服務(wù)器建立連接時,嘗試連接多少次 。比如-t 120′表示嘗試120次。當這一項為0′的時候,指定嘗試無窮多次直到連接成功為止,這個 設(shè)置非常有用,當
2、對方服務(wù)器突然關(guān)機或者網(wǎng)絡(luò)突然中斷的時候,可以在恢復(fù)正常后繼續(xù) 下載沒有傳完的文件; -c:斷點續(xù)傳,這也是個非常有用的設(shè)置,特別當下載比較大的文件的時候,如果中途意外中斷,那么連接恢復(fù)的時候會從上次沒傳完的地方接著傳,而不是又從頭開始,使用這一項需要遠程服務(wù)器也支持斷點續(xù)傳,一般來講,基于unix/linux的web/ftp服務(wù)器 都支持斷點續(xù)傳; -t number of seconds:超時時間,指定多長時間遠程服務(wù)器沒有響應(yīng)就中斷連接 ,開始下一次嘗試。比如-t 120′表示如果120秒以后遠程服務(wù)器沒有發(fā)過來數(shù)據(jù),就重新嘗試連接。如果網(wǎng)絡(luò)速度比較快,這個時間可以設(shè)置的短些
3、,相反,可以設(shè)置的長一些,一般最多不超過900,通常也不少于60,一般設(shè)置在120左右比較合適; -w number of seconds:在兩次嘗試之間等待多少秒,比如-w 100′表示兩次嘗試 之間等待100秒; -y on/off:通過/不通過代理服務(wù)器進行連接; -q byetes:限制下載文件的總大小最多不能超過多少,比如-q2k表示不能超過2k 字節(jié),-q3m表示最多不能超過3m字節(jié),如果數(shù)字后面什么都不加,就表示是以字節(jié)為單 位,比如-q200′表示最多不能超過200字節(jié); -nd:不下載目錄結(jié)構(gòu),把從服務(wù)器所有指定目錄下載的文件都堆到當前目錄里; -x:
4、與-nd設(shè)置剛好相反,創(chuàng)建完整的目錄結(jié)構(gòu),例如wget -x 將在當前目錄下創(chuàng)建子目錄,然后按照服務(wù)器 實際的目錄結(jié)構(gòu)一級一級建下去,直到所有的文件都傳完為止; -nh:不創(chuàng)建以目標主機域名為目錄名的目錄,將目標主機的目錄結(jié)構(gòu)直接下到當前目錄下; –http-user=username –http-passwd=password:如果web服務(wù)器需要指定用戶名和口令,用這兩項來設(shè)定; –proxy-user=username –proxy-passwd=password:如果代理服務(wù)器需要輸
5、入用戶名和口令,使用這兩個選項 ; -r:在本機建立服務(wù)器端目錄結(jié)構(gòu); -l depth:下載遠程服務(wù)器目錄結(jié)構(gòu)的深度,例如-l 5′下載目錄深度小于或者等 于5以內(nèi)的目錄結(jié)構(gòu)或者文件; -m:做站點鏡像時的選項,如果你想做一個站點的鏡像,使用這個選項,它將自動設(shè)定其他合適的選項以便于站點鏡像; -np:只下載目標站點指定目錄及其子目錄的內(nèi)容。這也是一個非常有用的選項,我們假設(shè)某個人的個人主頁里面有一個指向這個站點其他人個人主頁的連接,而我們只想下載這個人的個人主頁,如果不設(shè)置這個選項,甚至–有可能把整個站點給抓下來,這顯然是我們通常不希望的; ü 如何設(shè)定w
6、get所使用的代理服務(wù)器 wget 可以使用用戶設(shè)置文件.wgetrc來讀取很多設(shè)置,我們這里主要利用這個文件來是 設(shè)置代理服務(wù)器。使用者用什么用戶登錄,那么什么用戶主目錄下的.wgetrc文件就起 作用。例如,root用戶如果想使用.wgetrc來設(shè)置代理服務(wù)器,/root/.wgert就起 作用,下面給出一個.wge trc文件的內(nèi)容,讀者可以參照這個例子來編寫自己的wgetrc文件: http-proxy = 11:8080 ftp-proxy = 11:8080 這兩行的含義是,代理服務(wù)器ip地址為:11,端
7、口號為:80。第一行指定 http協(xié)議所使用的代理服務(wù)器,第二行指定ftp協(xié)議所使用的代理服務(wù)器。 下面就開始實戰(zhàn)吧! a.使用wget工具 linux所以的主要版本都自帶了wget這個下載工具. bash$ wget http:/place.your.url/here 它還能控制ftp來下載整個web站點的各級目錄,當然,如果你不小心,可能會把整個網(wǎng)站以及其他和他做鏈接的網(wǎng)站全部下載下來. bash$ wget -m http:/target.web.site/subdirectory 由于這個工具具有很強的下載能力,所以可以在服務(wù)器上把它用作鏡像網(wǎng)站的工具.讓它按照robots.txt的規(guī)
8、定來執(zhí)行. 有很多參數(shù)用來控制它如何正確地做鏡像,可以限制鏈接的類型和下載文件的類型等等.例如:只下載有聯(lián)系的鏈接并且忽略gif圖片: bash$ wget -m -l –reject=gif http:/target.web.site/subdirectory wget也能夠?qū)崿F(xiàn)斷點續(xù)傳(-c參數(shù)),當然,這種操作是需要遠程服務(wù)器支持的. bash$ wget -c http:/the.url.of/incomplete/file 可以把斷點續(xù)傳和鏡像功能結(jié)合起來,這樣可以在以前斷過多次的情況下繼續(xù)鏡像一個有大量選擇性文件的站點.如何自動實現(xiàn)這個目的我們在后面會討論得更多. 如果
9、你覺得下載時老是斷線會影響你辦公的話,你可以限制wget重試的次數(shù). bash$ wget -t 5 http:/place.your.url/here 這樣重試五次后就放棄了.用-t inf參數(shù)表示永遠不放棄.不停地重試. b.那對于代理服務(wù)該怎么辦呢? 可以使用http代理的參數(shù)或者在.wgetrc配置文件里指定一個如何通過代理去下載的途徑.但是有這么一個問題,如果通過代理來進行斷點續(xù)傳的話可能會有幾次失敗.如果有一次通過代理下載的過程發(fā)生中斷,那么代理服務(wù)器上緩存里保存是那個完整的文件拷貝.所以當你用wget -c來下載剩余部分的時候代理服務(wù)器查看它的緩存,并錯誤地認為你已經(jīng)下載了整個文
10、件.于是就發(fā)出了錯誤的信號. 這個時候你可以用添加一個特定的請求參數(shù)來促使代理服務(wù)器清除他們的緩存: bash$ wget -c –header=pragma: no-cache http:/place.your.url/here 這個–header參數(shù)能夠以各種數(shù)字,各種方式添加。通過它我們可以更改web服務(wù)器或者代理服務(wù)器的某些屬性。有些站點不提供外部連接的文件服務(wù),只有通過同一個站點上其他的一些頁面時內(nèi)容才會被提交。這個時候你可以用加上referer:參數(shù): bash$ wget –header=referer: http:/coming.from.t
11、his/page http:/surfing.to.this/page 有些特殊的網(wǎng)站只支持某種特定的瀏覽器,這個時候可以用user-agent:參數(shù) bash$ wget –header=user-agent: mozilla/4.0 (compatible; msie 5.0;windows nt; digext) http:/msie.only.url/here c.那我怎么設(shè)定下載時間呢? 如果你需要在你的辦公電腦上通過和其他同事共享的一個連接來下載一些很大的文件,而且你希望你的同事不會因為網(wǎng)絡(luò)速度的減慢而收到影響,那你就應(yīng)該盡量避開高峰時段。當然,不需要在辦公室里等到所以
12、人都走掉,也不需要在家里用完晚飯后還惦記著要上網(wǎng)下載一次。 用at來就可以很好的定制工作時間: bash$ at 23:00 warning: commands will be executed using /bin/sh at& wget http:/place.your.url/here at& press ctrl-d 這樣,我們設(shè)定了下載工作在晚上11點進行。為了使這個安排能夠正常進行,請確 認atd這個后臺程序正在運行。 d.下載要花很多時間? 當你需要下載大量的數(shù)據(jù),而且你又沒有享有足夠的帶寬,這個時候你會經(jīng)常發(fā)現(xiàn)在你安排的下載任務(wù)還沒有完成,一天的工作卻又要開始了。 作為一個好同
13、事,你只能停掉了這些任務(wù),而開始另外的工作。然后你又需要反復(fù)地重復(fù)使用wget -c來完成你的下載。這樣肯定太繁瑣了,所以最好是用crontab來自動執(zhí)行。創(chuàng)建一個純文本文件,叫做crontab.txt,包含下面的內(nèi)容: 0 23 * * 1-5 wget -c -n http:/place.your.url/here 0 6 * * 1-5 killall wget 這個crontab文件指定某些任務(wù)定期地執(zhí)行。前五列聲明是什么時候執(zhí)行這個命令,而每行的剩余部分則告訴crontab執(zhí)行什么內(nèi)容。 前兩列指定了每天一到晚上11點就開始用wget下載,一到早上6點就停止一切wget下載。第三四列
14、的*表示每個月的每一天都執(zhí)行這個任務(wù)。第五列則指定了一個星期的哪幾天來執(zhí)行這個程序。 –1-5′表示從星期一到星期五。 這樣在每個工作日的晚上11點,下載工作開始,到了上午的6點,任何的wget任務(wù)就被停掉了。你可以用下面的命令來執(zhí)行crontab:bash$ crontab crontab.txt wget的這個-n參數(shù)將會檢查目標文件的時間戳,如果匹配了,下載程序就會停止,因為它說明整個文件已經(jīng)下載完全了。 用crontab -r可以刪除這個計劃安排。我已經(jīng)多次采用這種方法,通過共享的電話撥號來下載過很多的iso鏡像文件,還是比較實用的。 e.如何下載動態(tài)變化的網(wǎng)頁
15、 有些網(wǎng)頁每天都要根據(jù)要求變化好幾次.所以從技術(shù)上講,目標不再是一個文件,它沒有文件長度.因此-c這個參數(shù)也就失去了意義. 例如:一個php寫的并且經(jīng)常變動的linux周末新聞網(wǎng)頁: bash$ wget 我辦公室里的網(wǎng)絡(luò)條件經(jīng)常很差,給我的下載帶了很大的麻煩,所以我寫了個簡單的腳本來檢測動態(tài)頁面是否已經(jīng)完全更新了. #!/bin/bash #create it if absent touch bigpage.php3 #check if we got the whole thing while ! grep -qi bigpage.php3 do rm -f bigpage.php3 #do
16、wnload lwn in one big page wget done 這個腳本能夠保證持續(xù)的下載該網(wǎng)頁,直到網(wǎng)頁里面出現(xiàn)了 ,這就表示該文件已經(jīng)完全更新了. f.對于ssl和cookies怎么辦? 如果你要通過ssl來上網(wǎng),那么網(wǎng)站地址應(yīng)該是以https:/來開頭的.在這樣的情況下你就需要另外一種下載工具,叫做curl,它能夠很容易獲得.有些網(wǎng)站迫使網(wǎng)友在瀏覽的時候必須使用cookie.所以你必須從在網(wǎng)站上得到的那個cookie里面得到cookie:這個參數(shù).這樣才 能保證下載的參數(shù)正確.對于lynx和mozilla的cookie的文件格式,用下面的: bash$ cookie=$( gr
17、ep nytimes /.lynx_cookies |awk printf(%s=%s;,$6,$7) ) 就可以構(gòu)造一個請求cookie來下載上的內(nèi)容.當然,你要已經(jīng)用這個瀏覽器在該網(wǎng)站上完成注冊. w3m使用了一種不同的,更小巧的cookie文件格式: bash$ cookie=$( grep nytimes /.w3m/cookie |awk printf(%s=%s;,$2,$3) ) 現(xiàn)在就可以用這種方法來下載了: bash$ wget –header=cookie: $cookie 或者用curl工具: bash$ curl -v -b $cookie -o super
18、comp.html g.如何建立地址列表? 到現(xiàn)在為止我們下載的都是單個文件或者是整個網(wǎng)站.有的時候我們需要下載某個網(wǎng)頁上鏈接的大量文件,但沒有必要把它整個網(wǎng)站都鏡像下來.比如說我們想從一個依次排列的100首歌里面下載前20首.注意,這里–accept和–reject參數(shù)是不會起作用的,因為他們只對文件操作起作用.所以一定要用lynx -dump參數(shù)來代替. bash$ lynx -dump ftp:/ |grep gz$ |tail -10 |awk print $2 & urllist.txt lynx的輸出結(jié)果可以被各種gnu文本處理工具過慮.在上面的例子里,我們
19、的鏈接地址是以gz結(jié)尾的,并且把最后10個文件地址放到urllist.txt文件里.然后我們可以寫一個簡單的bash腳本來自動下載這個文件里的目標文件: bash$ for x in $(cat urllist.txt) & do & wget $x & done 這樣我們就能夠成功下載linux gazette網(wǎng)站(ftp:/ h.擴大使用的帶寬 如果你選擇下載一個受帶寬限制的文件,那你的下載會因為服務(wù)器端的限制而變得很慢.下面這個技巧會大大縮短下載的過程.但這個技巧需要你使用curl并且遠程服務(wù)器有多個鏡像可以供你下載.例如,假設(shè)你想從下面的三個地址下載mandrake 8.0: url1=/pub/linux/mandrake/iso/mandrake80-inst.iso url2= url3=/linux/mandrake/i
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版數(shù)學(xué)七年級上冊3.3《解一元一次方程二》聽評課記錄3
- 新版湘教版秋八年級數(shù)學(xué)上冊第五章二次根式課題二次根式的混合運算聽評課記錄
- 蘇科版數(shù)學(xué)七年級下冊聽評課記錄11.5用一元一次不等式解決問題
- 湘教版數(shù)學(xué)九年級上冊《小結(jié)練習(xí)》聽評課記錄8
- 湘教版數(shù)學(xué)七年級上冊2.1《用字母表示數(shù)》聽評課記錄1
- s版語文三年級下冊聽評課記錄
- 小學(xué)二年級口算題應(yīng)用題
- 五年級下冊數(shù)學(xué)解方程、口算、應(yīng)用題總匯
- 人教版七年級數(shù)學(xué)下冊 聽評課記錄 9.1.2 第1課時《不等式的性質(zhì)》
- 華師大版數(shù)學(xué)八年級上冊《立方根》聽評課記錄3
- 《農(nóng)機化促進法解讀》課件
- 最高法院示范文本發(fā)布版3.4民事起訴狀答辯狀示范文本
- 2023-2024學(xué)年度上期七年級英語期末試題
- 2024年英語高考全國各地完形填空試題及解析
- 2024至2030年中國餐飲管理及無線自助點單系統(tǒng)數(shù)據(jù)監(jiān)測研究報告
- 2024年燃氣輪機值班員技能鑒定理論知識考試題庫-下(多選、判斷題)
- 2024年服裝門店批發(fā)管理系統(tǒng)軟件項目可行性研究報告
- 交通法規(guī)課件
- (優(yōu)化版)高中地理新課程標準【2024年修訂版】
- 《Python程序設(shè)計》課件-1:Python簡介與應(yīng)用領(lǐng)域
- 各類心理量表大全
評論
0/150
提交評論