linux下載文件命令wget

bmbm 9年前發布 | 13K 次閱讀 wget Linux

本文整理自:http://itlab.idcquan.com/linux/command/800205.html



wget是linux最常用的下載命令, 一般的使用方法是: wget + 空格 + 要下載文件的url路徑

例如: # wget http://www.linuxsense.org/xxxx/xxx.tar.gz

簡單說一下-c參數, 這個也非常常見, 可以斷點續傳, 如果不小心終止了, 可以繼續使用命令接著下載

例如: # wget -c http://www.linuxsense.org/xxxx/xxx.tar.gz



下面詳細闡述wget的用法:

wget是一個從網絡上自動下載文件的自由工具。它支持HTTP,HTTPS和FTP協議,可以使用HTTP代理.

所謂的自動下載是指,wget可以在用戶退出系統的之后在后臺執行。這意味這你可以登錄系統,啟動一個wget下載任務,然后退出系統,wget將在后臺執行直到任務完成,相對于其它大部分瀏覽器在下載大量數據時需要用戶一直的參與,這省去了極大的麻煩。

wget可以跟蹤HTML頁面上的鏈接依次下載來創建遠程服務器的本地版本,完全重建原始站點的目錄結構。這又常被稱作”遞歸下載”。在遞歸下載的時候,wget遵循Robot Exclusion標準(/robots.txt). wget可以在下載的同時,將鏈接轉換成指向本地文件,以方便離線瀏覽。

wget非常穩定,它在帶寬很窄的情況下和不穩定網絡中有很強的適應性.如果是由于網絡的原因下載失敗,wget會不斷的嘗試,直到整個文件下載完畢。如果是服務器打斷下載過程,它會再次聯到服務器上從停止的地方繼續下載。這對從那些限定了鏈接時間的服務器上下載大文件非常有用。

wget的常見用法

wget的使用格式

Usage: wget [OPTION]… [URL]…

* 用wget做站點鏡像:

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

# 或者

wget -m http://www.tldp.org/LDP/abs/html/

* 在不穩定的網絡上下載一個部分下載的文件,以及在空閑時段下載

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        啟動后轉入后臺執行

-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           設置下載的容量限制

–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                  不要追溯到父目錄

 本文由用戶 bmbm 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!