wget是一個下載文件的工具,它用在命令行下。對於Linux用戶是必不可少的工具,咱們常常要下載一些軟件或從遠程服務器恢復備份到本地服務器。html
wget支持HTTP,HTTPS和FTP協議,可使用HTTP代理。所謂的自動下載是指,wget能夠在用戶退出系統的以後在後臺執行。這意味這你能夠登陸系統,啓動一個wget下載任務,而後退出系統,wget將在後臺執行直到任務完成shell
wget 能夠跟蹤HTML頁面上的連接依次下載來建立遠程服務器的本地版本,徹底重建原始站點的目錄結構。這又常被稱做」遞歸下載」。緩存
wget 很是穩定,它在帶寬很窄的狀況下和不穩定網絡中有很強的適應性.若是是因爲網絡的緣由下載失敗,wget會不斷的嘗試,直到整個文件下載完畢。若是是服務器打斷下載過程,它會再次聯到服務器上從中止的地方繼續下載。這對從那些限定了連接時間的服務器上下載大文件很是有用。安全
GNU Wget 1.12,非交互式的網絡文件下載工具。 用法: wget [選項]... [URL]... 長選項所必須的參數在使用短選項時也是必須的。 開始: -V, --version 顯示 Wget 的版本信息並退出。 -h, --help 打印此幫助。 -b, --background 啓動後轉入後臺。 -e, --execute=COMMAND 運行一個‘.wgetrc’風格的命令。 登入並輸入文件: -o, --output-file=FILE 將信息寫入 FILE。 -a, --append-output=FILE 將信息添加至 FILE。 -d, --debug 打印大量調試信息。 -q, --quiet 安靜模式(無信息輸出)。 -v, --verbose 詳盡的輸出(此爲默認值)。 -nv, --no-verbose 關閉詳盡輸出,但不進入安靜模式。 -i, --input-file=FILE 下載本地或外部 FILE 中的 URLs。 -F, --force-html 把輸入文件當成 HTML 文件。 -B, --base=URL 解析與 URL 相關的 HTML 輸入文件(由 -i -F 選項指定)。 下載: -t, --tries=NUMBER 設置重試次數爲 NUMBER (0 表明無限制)。 --retry-connrefused 即便拒絕鏈接也是重試。 -O, --output-document=FILE 將文檔寫入 FILE。 -nc, --no-clobber 不要重複下載已存在的文件。 -c, --continue 繼續下載部分下載的文件。 --progress=TYPE 選擇進度條類型。 -N, --timestamping 只獲取比本地文件新的文件。 -S, --server-response 打印服務器響應。 --spider 不下載任何文件。 -T, --timeout=SECONDS 將全部超時設爲 SECONDS 秒。 --dns-timeout=SECS 設置 DNS 查尋超時爲 SECS 秒。 --connect-timeout=SECS 設置鏈接超時爲 SECS 秒。 --read-timeout=SECS 設置讀取超時爲 SECS 秒。 -w, --wait=SECONDS 等待間隔爲 SECONDS 秒。 --waitretry=SECONDS 在取回文件的重試期間等待 1..SECONDS 秒。 --random-wait 取回時等待 0...2*WAIT 秒。 --no-proxy 關閉代理。 -Q, --quota=NUMBER 設置取回配額爲 NUMBER 字節。 --bind-address=ADDRESS 綁定至本地主機上的 ADDRESS (主機名或是 IP)。 --limit-rate=RATE 限制下載速率爲 RATE。 --no-dns-cache 關閉 DNS 查尋緩存。 --restrict-file-names=OS 限定文件名中的字符爲 OS 容許的字符。 --ignore-case 匹配文件/目錄時忽略大小寫。 -4, --inet4-only 僅鏈接至 IPv4 地址。 -6, --inet6-only 僅鏈接至 IPv6 地址。 --prefer-family=FAMILY 首先鏈接至指定協議的地址 FAMILY 爲 IPv6,IPv4 或是 none。 --user=USER 將 ftp 和 http 的用戶名均設置爲 USER。 --password=PASS 將 ftp 和 http 的密碼均設置爲 PASS。 --ask-password 提示輸入密碼。 --no-iri 關閉 IRI 支持。 --local-encoding=ENC IRI 使用 ENC 做爲本地編碼。 --remote-encoding=ENC 使用 ENC 做爲默認遠程編碼。 目錄: -nd, --no-directories 不建立目錄。 -x, --force-directories 強制建立目錄。 -nH, --no-host-directories 不要建立主目錄。 --protocol-directories 在目錄中使用協議名稱。 -P, --directory-prefix=PREFIX 以 PREFIX/... 保存文件 --cut-dirs=NUMBER 忽略 NUMBER 個遠程目錄路徑。 HTTP 選項: --http-user=USER 設置 http 用戶名爲 USER。 --http-password=PASS 設置 http 密碼爲 PASS。 --no-cache 不在服務器上緩存數據。 --default-page=NAME 改變默認頁 (默認頁一般是「index.html」)。 -E, --adjust-extension 以合適的擴展名保存 HTML/CSS 文檔。 --ignore-length 忽略頭部的‘Content-Length’區域。 --header=STRING 在頭部插入 STRING。 --max-redirect 每頁所容許的最大重定向。 --proxy-user=USER 使用 USER 做爲代理用戶名。 --proxy-password=PASS 使用 PASS 做爲代理密碼。 --referer=URL 在 HTTP 請求頭包含‘Referer: URL’。 --save-headers 將 HTTP 頭保存至文件。 -U, --user-agent=AGENT 標識爲 AGENT 而不是 Wget/VERSION。 --no-http-keep-alive 禁用 HTTP keep-alive(永久鏈接)。 --no-cookies 不使用 cookies。 --load-cookies=FILE 會話開始前從 FILE 中載入 cookies。 --save-cookies=FILE 會話結束後保存 cookies 至 FILE。 --keep-session-cookies 載入並保存會話(非永久) cookies。 --post-data=STRING 使用 POST 方式;把 STRING 做爲數據發送。 --post-file=FILE 使用 POST 方式;發送 FILE 內容。 --content-disposition 當選中本地文件名時 容許 Content-Disposition 頭部(尚在實驗)。 --auth-no-challenge send Basic HTTP authentication information without first waiting for the server's challenge. HTTPS (SSL/TLS) 選項: --secure-protocol=PR 選擇安全協議,能夠是 auto、SSLv二、 SSLv3 或是 TLSv1 中的一個。 --no-check-certificate 不要驗證服務器的證書。 --certificate=FILE 客戶端證書文件。 --certificate-type=TYPE 客戶端證書類型, PEM 或 DER。 --private-key=FILE 私鑰文件。 --private-key-type=TYPE 私鑰文件類型, PEM 或 DER。 --ca-certificate=FILE 帶有一組 CA 認證的文件。 --ca-directory=DIR 保存 CA 認證的哈希列表的目錄。 --random-file=FILE 帶有生成 SSL PRNG 的隨機數據的文件。 --egd-file=FILE 用於命名帶有隨機數據的 EGD 套接字的文件。 FTP 選項: --ftp-user=USER 設置 ftp 用戶名爲 USER。 --ftp-password=PASS 設置 ftp 密碼爲 PASS。 --no-remove-listing 不要刪除‘.listing’文件。 --no-glob 不在 FTP 文件名中使用通配符展開。 --no-passive-ftp 禁用「passive」傳輸模式。 --retr-symlinks 遞歸目錄時,獲取連接的文件(而非目錄)。 遞歸下載: -r, --recursive 指定遞歸下載。 -l, --level=NUMBER 最大遞歸深度( inf 或 0 表明無限制,即所有下載)。 --delete-after 下載完成後刪除本地文件。 -k, --convert-links 讓下載獲得的 HTML 或 CSS 中的連接指向本地文件。 -K, --backup-converted 在轉換文件 X 前先將它備份爲 X.orig。 -m, --mirror -N -r -l inf --no-remove-listing 的縮寫形式。 -p, --page-requisites 下載全部用於顯示 HTML 頁面的圖片之類的元素。 --strict-comments 開啓 HTML 註釋的精確處理(SGML)。 遞歸接受/拒絕: -A, --accept=LIST 逗號分隔的可接受的擴展名列表。 -R, --reject=LIST 逗號分隔的要拒絕的擴展名列表。 -D, --domains=LIST 逗號分隔的可接受的域列表。 --exclude-domains=LIST 逗號分隔的要拒絕的域列表。 --follow-ftp 跟蹤 HTML 文檔中的 FTP 連接。 --follow-tags=LIST 逗號分隔的跟蹤的 HTML 標識列表。 --ignore-tags=LIST 逗號分隔的忽略的 HTML 標識列表。 -H, --span-hosts 遞歸時轉向外部主機。 -L, --relative 只跟蹤有關係的連接。 -I, --include-directories=LIST 容許目錄的列表。 -X, --exclude-directories=LIST 排除目錄的列表。 -np, --no-parent 不追溯至父目錄。
使用wget -O下載並以不一樣的文件名保存(-O:下載文件到對應目錄,而且修改文件名稱)服務器
wget -O wordpress.zip http://www.minjieren.com/download.aspx?id=1080
使用wget -b後臺下載cookie
wget -b http://www.minjieren.com/wordpress-3.1-zh_CN.zip
備註: 你可使用如下命令來察看下載進度:tail -f wget-log
利用-spider: 模擬下載,不會下載,只是會檢查是否網站是否好着網絡
[root@localhost ~]# wget --spider www.baidu.com #不下載任何文件
模擬下載打印服務器響應session
[root@localhost ~]# wget -S www.baidu.com # 打印服務器響應
設定指定次數app
[root@localhost ~]# wget -r --tries=2 www.baidu.com (指定嘗試2次,2次後再也不嘗試) [root@localhost ~]# wget -r --tries=2 -q www.baidu.com (指定嘗試,且不打印中間結果)