Linux wget命令詳解

  wget是一個下載文件的工具,它用在命令行下。對於Linux用戶是必不可少的工具,咱們常常要下載一些軟件或從遠程服務器恢復備份到本地服務器。html

  wget支持HTTP,HTTPS和FTP協議,可使用HTTP代理。所謂的自動下載是指,wget能夠在用戶退出系統的以後在後臺執行。這意味這你能夠登陸系統,啓動一個wget下載任務,而後退出系統,wget將在後臺執行直到任務完成shell

   wget 能夠跟蹤HTML頁面上的連接依次下載來建立遠程服務器的本地版本,徹底重建原始站點的目錄結構。這又常被稱做」遞歸下載」。緩存

   wget 很是穩定,它在帶寬很窄的狀況下和不穩定網絡中有很強的適應性.若是是因爲網絡的緣由下載失敗,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

image

使用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    #不下載任何文件

image

模擬下載打印服務器響應session

[root@localhost ~]# wget -S  www.baidu.com     # 打印服務器響應

image

設定指定次數app

[root@localhost ~]#  wget -r --tries=2  www.baidu.com       (指定嘗試2次,2次後再也不嘗試)
 [root@localhost ~]# wget -r --tries=2 -q www.baidu.com    (指定嘗試,且不打印中間結果)

image

相關文章
相關標籤/搜索