本文從http://iluohzij.blog.51cto.com/2448151/498964擷錄
wget 是一個命令列的下載工具。對於我們這些 Linux 用戶來說,幾乎每天都在使用它。下面為大家介紹幾個有用的 wget 小技巧,可以讓你更加高效而靈活的使用 wget。
* $ wget -r -np -nd http://example.com/packages/
這條命令可以下載 http://example.com 網站上 packages 目錄中的所有檔。其中,-np 的作用是不遍歷父目錄,-nd 表示不在本機重新創建目錄結構。
* $ wget -r -np -nd –accept=iso http://example.com/centos-5/i386/
與上一條命令相似,但多加了一個 –accept=iso 選項,這指示 wget 僅下載 i386 目錄中所有副檔名為 iso 的檔。你也可以指定多個副檔名,只需用逗號分隔即可。
* $ wget -i filename.txt
此命令常用於批量下載的情形,把所有需要下載檔案的位址放到 filename.txt 中,然後 wget 就會自動為你下載所有檔了。
* $ wget -c http://example.com/really-big-file.iso
這裡所指定的 -c 選項的作用為中斷點續傳。
* $ wget -m -k (-H) http://www.example.com/
該命令可用來鏡像一個網站,wget 將對連結進行轉換。如果網站中的圖像是放在另外的網站,那麼可以使用 -H 選項。
Wget支援 HTTP, HTTPS, FTP和HTTP代理。
特性:
1.非互動式,意味著wget可以在一直後臺運行,用戶甚至無需登錄。
2.wget可以追蹤HTML,XHTML,CSS中的連結,從而方便的創建網站的本地鏡像。
3.支持萬用字元,支持時間戳記
4.健壯的設計使其可以在緩慢或不穩定的網路中使用。
5.支援使用代理。
6.支持IPV6(需編譯時加入支持)
7.內建特性提供微調機制讓你下載到你想要的連接。
8.幾乎所有這些特性都是可配置的,通過命令列參數或設定檔
9.wget是自由,每個人都可以在GPL框架下使用,修改和再發佈
調用:wget [OPTION]… [URL]…
1.URL格式:
http://host[:port]/directory/file
ftp://host[:port]/directory/file
或者在URL中使用 用戶名和密碼:
ftp://user:password@host/path
http://user:password@host/path
(這種做法不安全,其它用戶可以用ps命令看到用戶名 密碼!)
對於ftp,wget支援類型設置:type=a (ascii 模式,‘i’ 二進位模式)
ftp://host/directory/file;type=a
2.基本選項:
-V(–version): 列印版本
-h(–help): 列印幫助
-b(–backgroud): 啟動後在後臺運行,默認output重定向到wget-log,可以通過-o 指定。
-e(–execute): 運行命令,如同在.wgetrc中的命令一樣,但在.wgetrc所有命令之後運行
3.日誌和輸入檔選項
-o LOGFILE(–output-file=LOGFILE): 記錄所有消息至LOGFILE中
-a LOGFILE(–append-output=LOGFILE):添加日誌至LOGFILE中
-d(–debug):打開調試模式(需編譯時添加debug支援)
-q(–quiet):關閉輸出
-v(–verbose):冗餘輸出(默認)
-nv(–no-verbose): 關閉冗餘輸出
-i FILE(–input-file=FILE):從本地或外部檔中讀URLS,本地檔使用–force-html強制作為html檔處理,外部檔自動當作html
-F(–force-html): 當從檔輸入時,將檔當作html處理
-B URL(–base=URL): 解析相對連結時,使用URL作為參考點(可與-i配合使用)
3下載選項:
–bind-address=ADDRESS: 綁定地址
-t NUMBER(–tries=NUMBER): 設置重試次數,0或inf為無限次,默認20次,”connection refused” or “not found”除外。
-O FILE(–output-document=FILE): 所有下載檔案均寫入FILE中。
-nc(–no-clobber):加入此選項則當下載同一檔時,wget拒絕下載新版
-c(–continue): 目前的目錄下有不完整的檔時,中斷點續傳之。
–progress=TYPE:設置進度顯示格式,有dot和bar兩種。
-N(–timestamping): 打開時間戳記功能。
-S(–server-response): 列印HTTP伺服器發送的頭資訊或FTP伺服器的回應。
–spider: 只檢查檔是否存在,不下載(類似web spider)。
-T seconds(–timeout=seconds): 設置超時時間,相當於同時設置`–dns-timeout’, `–connect-timeout’, 和`–read-timeout’
–dns-timeout=SECONDS:設置dns解析超時時間
–connect-timeout=SECONDS:設置連接逾時時間
–read-timeout=SECONDS:設置空閒超時時間
–limit-rate=AMOUNT:下載速度限制
-w SECONDS(–wait=SECONDS):設置下載時間間距
–waitretry=SECONDS:設置錯誤重試時間間隔
–random-wait:設置等待時間為0.5至1.5*WAIT seconds間的隨機值
–no-proxy:不使用代理
-Q QUOTA(–quota=QUOTA):設置下載配額。
–no-dns-cache:不使用dns緩存,即每次連接重新要求解析
–restrict-file-names=MODES:設置本地保存檔案名的格式。
-4(–inet4-only):只用ipv4
-6(–inet6-only):只用ipv6
–prefer-family=none/IPv4/IPv6:設置首選類型。
–retry-connrefused:設置當connection refused時重試
–user=USER –password=PASSWORD指定用戶名,密碼。(不安全!)
–ask-password:每個連接彈出密碼輸入框。
–no-iri:關閉internationalized URI(IRI)支持,用–iri打開(默認)
–local-encoding=ENCODING:設置本地編碼,供wget由本地URLS參數轉至UTF-8時使用
–remote-encoding=ENCODING:設置遠端編碼,供wget轉換遠端編碼至UTF-8時使用。
4.目錄選項
-nd(–no-directories):不創建分層目錄(所有檔都下至目前的目錄)
-x(–force-directories):與-nd相反,強制創建下載目錄
-nH(–no-host-directories):不創建以主機為首碼的目錄。
–protocol-directories:使用協定名稱組成本地目錄名
–cut-dirs=NUMBER:減去NUMBER個目錄作為目錄名
-P PREFIX(–directory-prefix=PREFIX): 文件下載至PREFIX
5,HTTP選項
–default-page=NAME:使用NAME作為默認主頁名
-E(–adjust-extension):本機存放區文件時加.html尾碼
–http-user=USER –http-password=PASSWORD:
–no-http-keep-alive:關閉keep alive功能
–no-cache:關閉伺服器端的緩存功能
–no-cookies:不使用cookies
–load-cookies FILE:從FILE載入餅乾
–save-cookies FILE:保存餅乾至FILE
–keep-session-cookies:保存會話餅乾,與上個選項一起用
–ignore-length:忽略HTTP頭中的Content-Length內容
–header=HEADER-LINE:構造HTTP頭
–max-redirect=NUMBER:指定最大重定向數目
–proxy-user=USER –proxy-password=PASSWORD
–referer=URL:在HTTP頭中包含Referer: URL
–save-headers:保存HTTP伺服器發送的報頭
-U AGENT-STRING(–user-agent=AGENT-STRING):設置用戶標示
–post-data=STRING –post-file=FILE:使用POST方法發送STRING或FILE中的內容(key1=value1&key2=value2格式)
–content-disposition:試驗性的支援Content-Disposition頭
–auth-no-challenge:讓wget發送基本HTTP認證資訊
6.HTTPS(SSL/TLS)選項
–secure-protocol=PROTOCOL:選擇安全協議類型(auto,SSLv2,SSLv3,TLSv1)
–no-check-certificate:不檢查證書
–certificate=FILE:指定用戶端證書
–certificate-type=TYPE:指定用戶端證書類型
–private-key=FILE:從FILE讀取私密金鑰
–private-key-type=TYPE:指定私密金鑰類型
–ca-certificate=FILE:指定CA檔
–ca-directory=DIRECTORY:指定CA檔所在目錄
–random-file=FILE:在沒有/dev/random檔的系統上,使用FILE作為亂數的源
–egd-file=FILE:使用FILE作為EGD通訊端
7.FTP選項
–ftp-user=USER –ftp-password=PASSWORD
–no-remove-listing:不移除暫存檔案.listing
–no-glob:關閉FTP多檔獲取功能(使用萬用字元)
–no-passive-ftp:關閉被動FTP模式
–retr-symlinks:下載連結指向的檔,而不是連結檔本身
8.遞迴下載
-r(–recursive):打開遞迴下載功能
-l DEPTH(–level=DEPTH):設置下載目錄深度
–delete-after:每個檔下載後即刪除
-k(–convert-links):下載完畢後,轉換連結為相對連結
-K(–backup-converted):當轉換連接時,保留原始備份為.orig
-m(–mirror):鏡像下載,相當於同時打開-r -N -l inf –no-remove-listing
-p(–page-requisites):下載單頁面所需的所有元素
–strict-comments:打開嚴格HTML注釋解析
9.遞迴下載時的接受/拒絕選項
-A ACCLIST(–accept ACCLIST):指定接受的檔(逗號隔開的尾碼名,或句式)
-R REJLIST –reject REJLIST:拒絕檔案名單
-D DOMAIN-LIST(–domains=DOMAIN-LIST):設置追隨的功能變數名稱(逗號隔開)
–exclude-domains DOMAIN-LIST:設置不追隨的功能變數名稱
–follow-ftp:在HTML文檔中追蹤FTP
–follow-tags=LIST:設置追蹤的tag
–ignore-tags=LIST:設置忽略的tag
–ignore-case:匹配檔或目錄時忽略大小寫
-H(–span-hosts):遞迴下載時,允許垮主機
-L(–relative):只追蹤相對連結
-I LIST(–include-directories=LIST):設置追蹤目錄(逗號隔開,可含萬用字元)
-X LIST(–exclude-directories=LIST): 排除的追蹤目錄
-np(–no-parent):不進入父母錄
留言列表