天天看點

wget指令

wget的常見用法

wget的使用格式 Usage: wget [OPTION]... [URL]...

用wget做站點鏡像:

wget -r -p -np -k http://dsec.pku.edu.cn/~usr_name/

# 或者

wget -m http://dsec.pku.edu.cn/~usr_name/

在不穩定的網絡上下載下傳一個部分下載下傳的檔案,以及在空閑時段下載下傳

wget -t 0 -w 31 -c http://dsec.pku.edu.cn/BBC.avi -o down.log &

# 或者從filelist讀入要下載下傳的檔案清單

wget -t 0 -w 31 -c -B ftp://dsec.pku.edu.cn/linuxsoft -i filelist.txt -o down.log &

上面的代碼還可以用來在網絡比較空閑的時段進行下載下傳。我的用法是:在mozilla中将不友善當時下載下傳的URL連結拷貝到記憶體中然後粘貼到檔案filelist.txt中,在晚上要出去系統前執行上面代碼的第二條。

使用代理下載下傳

wget -Y on -p -k https://sourceforge.net/projects/wvware/

代理可以在環境變量或wgetrc檔案中設定 # 在環境變量中設定代理

export PROXY=http://211.90.168.94:8080/

# 在~/.wgetrc中設定代理

http_proxy = http://proxy.yoyodyne.com:18023/

ftp_proxy = http://proxy.yoyodyne.com:18023/

wget各種選項分類清單

啟動

  -V,  --version           顯示wget的版本後退出

  -h,  --help              列印文法幫助

  -b,  --background        啟動後轉入背景執行,記錄檔案寫在目前目錄下"wget-log"檔案中

  -e,  --execute=COMMAND   執行`.wgetrc'格式的指令,wgetrc格式參見/etc/wgetrc或~/.wgetrc

記錄和輸入檔案

  -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的檔案名

下載下傳

       --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           設定下載下傳的容量限制(限制下載下傳檔案的總大小最多不能超過多少,比如"-Q2k"                                表示不能超過2K位元組,"-Q3m"表示最多不能超過3M位元組,如果數字後面什麼                                都不加,就表示是以位元組為機關,比如"-Q200"表示最多不能超過200位元組)

       --limit-rate=RATE        限定下載下傳輸率

目錄

  -nd  --no-directories            不建立目錄

  -x,  --force-directories         強制建立目錄

  -nH, --no-host-directories       不建立主機目錄

  -P,  --directory-prefix=PREFIX   将檔案儲存到目錄 PREFIX/...

       --cut-dirs=NUMBER           忽略 NUMBER層遠端目錄

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檔案中

FTP 選項

  -nr, --dont-remove-listing   不移走 `.listing'檔案

  -g,  --glob=on/off           打開或關閉檔案名的 globbing機制

       --passive-ftp           使用被動傳輸模式 (預設值).

       --active-ftp            使用主動傳輸模式

       --retr-symlinks         在遞歸的時候,将連結指向檔案(而不是目錄)

遞歸下載下傳

  -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檔案的所有圖檔

遞歸下載下傳中的包含和不包含(accept/reject)

  -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建立的本地目錄名會用URL編碼規則處理。如"天網防火牆"會被存為"������ǽ",這造成閱讀上的極大不友善。

本文轉自 houzaicunsky 51CTO部落格,原文連結:http://blog.51cto.com/hzcsky/477626

繼續閱讀