0.聲明
原文格式不是很美觀,本文只是對原文格式進行整理,尊重原創,請移步原創地址。
1.命令格式
wget [參數] [URL地址]
2.命令功能
用於從網絡上下載資源,沒有指定目錄,下載資源回默認為當前目錄。wget 雖然功能強大,但是使用起來還是比較簡單:
-
支持斷點下傳功能
-
同時支持 FTP 和 HTTP 下載方式
-
支持代理服務器
3.命令參數
3.1 啟動參數
-
-V, –version顯示 wget 的版本后退出
-
-h, –help打印語法幫助
-
-b, –background啟動后轉入后台執行
-
-e, –execute=COMMAND執行 .wgetrc 格式的命令,wgetrc 格式參見 /etc/wgetrc 或 ~/.wgetrc
3.2 記錄和輸入文件參數
-
-o, –output-file=FILE把記錄寫到 FILE 文件中
-
-a, –append-output=FILE把記錄追加到 FILE 文件中
-
-d, –debug打印調試輸出
-
-q, –quiet安靜模式(沒有輸出)
-
-v, –verbose冗長模式(這是缺省設置)
-
-nv, –non-verbose關掉冗長模式,但不是安靜模式
-
-i, –input-file=FILE下載在 FILE 文件中出現的 URLs
-
-F, –force-html把輸入文件當作 HTML 格式文件對待
-
-B, –base=URL將 URL 作為在 -F -i 參數指定的文件中出現的相對鏈接的前綴
-
–sslcertfile=FILE可選客戶端證書
-
–sslcertkey=KEYFILE可選客戶端證書的 KEYFILE
-
–egd-file=FILE指定 EGD socket 的文件名
3.3 下載參數
-
–bind-address=ADDRESS指定本地使用地址(主機名或 IP,當本地有多個 IP 或名字時使用)
-
-t, –tries=NUMBER設定最大嘗試鏈接次數(0 表示無限制).
-
-O –output-document=FILE把文檔寫到 FILE 文件中
-
-nc, –no-clobber不要覆蓋存在的文件或使用 .# 前綴
-
-c, –continue接着下載沒下載完的文件
-
–progress=TYPE設定進程條標記
-
-N, –timestamping不要重新下載文件除非比本地文件新
-
-S, –server-response打印服務器的回應
-
–spider不下載任何東西
-
-T, –timeout=SECONDS設定響應超時的秒數
-
-w, –wait=SECONDS兩次嘗試之間間隔 SECONDS 秒
-
–waitretry=SECONDS在重新鏈接之間等待 1…SECONDS 秒
-
–random-wait在下載之間等待 0…2 × WAIT 秒
-
-Y, –proxy=on/off打開或關閉代理
-
-Q, –quota=NUMBER設置下載的容量限制
-
–limit-rate=RATE限定下載輸率
3.4 目錄參數
-
-nd –no-directories不創建目錄
-
-x, –force-directories強制創建目錄
-
-nH, –no-host-directories不創建主機目錄
-
-P, –directory-prefix=PREFIX將文件保存到目錄 PREFIX/…
-
–cut-dirs=NUMBER忽略 NUMBER 層遠程目錄
3.5 HTTP 選項參數
-
–http-user=USER設定 HTTP 用戶名為 USER
-
–http-passwd=PASS設定 http 密碼為 PASS
-
-C, –cache=on/off允許/不允許服務器端的數據緩存(一般情況下允許)
-
-E, –html-extension將所有 text/html 文檔以 .html 擴展名保存
-
–ignore-length忽略 Content-Length 頭域
-
–header=STRING在 headers 中插入字符串 STRING
-
–proxy-user=USER設定代理的用戶名為 USER
-
–proxy-passwd=PASS設定代理的密碼為 PASS
-
–referer=URL在 HTTP 請求中包含 Referer: URL 頭
-
-s, –save-headers保存 HTTP 頭到文件
-
-U, –user-agent=AGENT設定代理的名稱為 AGENT 而不是 Wget/VERSION
-
–no-http-keep-alive關閉 HTTP 活動鏈接(永遠鏈接)
-
–cookies=off不使用 cookies
-
–load-cookies=FILE在開始會話前從文件 FILE 中加載 cookie
-
–save-cookies=FILE在會話結束后將 cookies 保存到 FILE 文件中
3.6 FTP 選項參數
-
-nr, –dont-remove-listing不移走 .listing 文件
-
-g, –glob=on/off打開或關閉文件名的 globbing 機制
-
–passive-ftp使用被動傳輸模式(缺省值)
-
–active-ftp使用主動傳輸模式
-
–retr-symlinks在遞歸的時候,將鏈接指向文件(而不是目錄)
3.7 遞歸下載參數
-
-r, –recursive遞歸下載
-
-l, –level=NUMBER最大遞歸深度(inf 或 0 代表無窮)
-
–delete-after在現在完畢后局部刪除文件
-
-k, –convert-links轉換非相對鏈接為相對鏈接
-
-K, –backup-converted在轉換文件 X 之前,將之備份為 X.orig
-
-m, –mirror等價於 -r -N -l inf -nr
-
-p, –page-requisites下載顯示 HTML 文件的所有圖片
3.8 遞歸下載中的包含和不包含
-
-A, –accept=LIST分號分隔的被接受擴展名的列表
-
-R, –reject=LIST分號分隔的不被接受的擴展名的列表
-
-D, –domains=LIST分號分隔的被接受域的列表
-
–exclude-domains=LIST分號分隔的不被接受的域的列表
-
–follow-ftp跟蹤HTML文檔中的 FTP 鏈接
-
–follow-tags=LIST分號分隔的被跟蹤的 HTML 標簽的列表
-
-G, –ignore-tags=LIST分號分隔的被忽略的 HTML 標簽的列表
-
-H, –span-hosts當遞歸時轉到外部主機
-
-L, –relative僅僅跟蹤相對鏈接
-
-I, –include-directories=LIST允許目錄的列表
-
-X, –exclude-directories=LIST不被包含目錄的列表
-
-np, –no-parent不要追溯到父目錄
-
wget -S –spider url不下載只顯示過程
4.使用實例
4.1 使用 wget 下載單個文件
wget http://www.minjieren.com/wordpress-3.1-zh_CN.zip
從網絡下載一個文件並保存在當前目錄,在下載的過程中會顯示進度條,包含:下載完成百分比,已經下載的字節,當前下載速度,剩余下載時間)。
4.2 使用 wget -O 下載並以不同的文件名保存
wget -O wordpress.zip http://www.minjieren.com/download.aspx?id=1080
wget 默認會以最后一個符合 / 的后面的字符來命令,對於動態鏈接的下載通常文件名會不正確。
下面的例子會下載一個文件並以名稱 download.aspx?id=1080 保存:
wget http://www.minjieren.com/download?id=1
即使下載的文件是 zip 格式,它仍然以 download.php?id=1080 命令。
為了解決這個問題,我們可以使用參數-O來指定一個文件名:
wget -O wordpress.zip http://www.minjieren.com/download.aspx?id=1080
4.3 使用 wget –limit -rate 限速下載
wget --limit-rate=300k http://www.minjieren.com/wordpress-3.1-zh_CN.zip
當你執行 wget 的時候,它默認會占用全部可能的寬帶下載。但是當你准備下載一個大文件,而你還需要下載其它文件時就有必要限速了。
4.4 使用 wget -c 斷點續傳
wget -c http://www.minjieren.com/wordpress-3.1-zh_CN.zip
使用 wget -c 重新啟動下載中斷的文件,對於我們下載大文件時突然由於網絡等原因中斷非常有幫助,我們可以繼續接着下載而不是重新下載一個文件。需要繼續中斷的下載時可以使用 -c 參數。
4.5 使用 wget -b 后台下載
wget -b http://www.minjieren.com/wordpress-3.1-zh_CN.zip
對於下載非常大的文件的時候,我們可以使用參數 -b 進行后台下載。
可以使用以下命令來察看下載進度:
tail -f wget-log
4.6 偽裝代理名稱下載
wget --user-agent="Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16" http://www.minjieren.com/wordpress-3.1-zh_CN.zip
有些網站能通過根據判斷代理名稱不是瀏覽器而拒絕你的下載請求。不過你可以通過 –user-agent 參數偽裝。
4.7 使用 wget –spider 測試下載鏈接
wget --spider URL
當你打算進行定時下載,你應該在預定時間測試下載鏈接是否有效。我們可以增加 –spider 參數進行檢查。
如果下載鏈接正確,將會顯示:
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 參數:
-
定時下載之前進行檢查
-
間隔檢測網站是否可用
-
檢查網站頁面的死鏈接
4.8 使用 wget –tries 增加重試次數
wget --tries=40 URL
如果網絡有問題或下載一個大文件也有可能失敗。wget 默認重試 20 次連接下載文件。如果需要,你可以使用 –tries 增加重試次數。
4.9 使用 wget -i 下載多個文件
wget -i filelist.txt
首先,保存一份下載鏈接文件
cat > filelist.txt
url1
url2
url3
url4
接着使用這個文件和參數 -i 下載。
4.10 使用 wget –mirror 鏡像網站
wget --mirror -p --convert-links -P ./LOCAL URL
下載整個網站到本地。
參數說明:
-
–-miror 開戶鏡像下載
-
-p: 下載所有為了 html 頁面顯示正常的文件
-
–convert-links 下載后,轉換成本地的鏈接
-
-P ./LOCAL 保存所有文件和目錄到本地指定目錄
4.11 使用 wget –reject 過濾指定格式下載
wget --reject=gif ur
下載一個網站,但你不希望下載圖片,可以使用以下命令。
4.12 使用 wget -o 把下載信息存入日志文件
wget -o download.log URL
不希望下載信息直接顯示在終端而是在一個日志文件,可以使用
4.13 使用 wget -Q 限制總下載文件大小
wget -Q5m -i filelist.txt
當你想要下載的文件超過 5M 而退出下載,你可以使用。注意:這個參數對單個文件下載不起作用,只能遞歸下載時才有效。
4.14 使用 wget -r -A 下載指定格式文件
wget -r -A.pdf url
可以在以下情況使用該功能:
-
下載一個網站的所有圖片
-
下載一個網站的所有視頻
-
下載一個網站的所有PDF文件
4.15 使用 wget FTP 下載
wget ftp-url
wget --ftp-user=USERNAME --ftp-password=PASSWORD url
可以使用
wget 來完成 ftp 鏈接的下載。
使用 wget 匿名ftp下載:
wget ftp-url
使用 wget 用戶名和密碼認證的 ftp 下載:
wget --ftp-user=USERNAME --ftp-password=PASSWORD url