Linux wget 詳細使用

Linux wget 服務的安裝和使用

  • Linux
  • wget

安裝

yum install wget

使用

  • 命令格式

    wget [參數] [URL地址]

  • 特別注意

    此處要注意:url 地址最好用單引號或者雙引號包起來;
    例如:wget ‘http://www.asdsad.com/dassd
    wget “http://www.asdsad.com/asdas
    如果不用單引號或者雙引號,對於帶有一個以上參數的鏈接,類似如下
    url: http://www.adssdsa/ads/asd?data=yuyu&name=kajsdk&age=23
    wget 只能識別第一個參數,從而導致下載的時候出現 403 fobidden ,很多人出現這樣的問題最終也沒有查找到原因。估計就是這個原因。
    解決這樣的問題有兩種辦法:

    1.在url 鏈接中的 & 之前加上一個反斜槓 ‘\’; 如下所示:
    http://www.adssdsa/ads/asd?data=yuyu\&name=kajsdk\&age=23
    2.url 加上單引號二者雙引號。

    個人建議採用第二種方法;所以建議在使用命令時,將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.

    HTTP(SSL/TLS) 選項:

    –secure-protocol=PR 選擇安全協議,可以是 auto、SSLv2、
    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 允許目錄的列表。
    –trust-server-names 使用重定向的最後一個組件的名稱。
    -X, –exclude-directories=LIST 排除目錄的列表。
    -np, –no-parent 不追溯至父目錄。

實例

  • 實例1:下載單個文件

    eg: wget “http://www.minjieren.com/wordpress-3.1-zh_CN.zip
    下載一個文件到本地,顯示進度條。

  • 實例2:後臺模式下載

    eg: wget -b “http://www.minjieren.com/wordpress-3.1-zh_CN.zip
    下載非常大的文件時,可以使用後臺模式。
    tail –f wget-log 命令可以查看下載進度

  • 實例3:測試下載鏈接是否有效

    eg:wget –spider “http://www.minjieren.com/wordpress-3.1-zh_CN.zip
    下載鏈接正確顯示HTTP request sent, awaiting response… 200 OK
    下載鏈接出錯顯示 HTTP request sent, awaiting response… 404 Not Found

  • 實例4:下載文件限制下載速度

    wget –limit-rate=300k “http://www.minjieren.com/wordpress.zip
    當你執行wget的時候,它默認會佔用全部可能的寬帶下載,而你還需要下載其它文件時就有必要限速了。

  • 實例5:下載斷點續傳

    eg:wget -c “http://www.minjieren.com/wordpress-3.1-zh_CN.zip
    對於我們下載大文件時突然由於網絡等原因中斷非常有幫助,我們可以繼續接着下載而不是重新下載一個文件。

  • 實例6:下載文件並自定義文件名

    eg:wget -O wordpress.zip “http://www.minjieren.com/download
    指定下載的文件保存在當前路徑爲wordpress.zip。也可以設置在其他路徑。

  • 實例7:下載多個文件

    eg: wget -i filelist.txt
    filelist.txt 文件裏保存爲下載鏈接
    cat > filelist.txt
    url1
    url2
    url3
    url4
    然後下載

  • 實例8:將下載信息保存到日誌文件

    eg:wget -o download.log “http://www.minjieren.com/download
    不希望下載信息直接打印在終端,保存在日誌文件裏

  • 實例9:限制總的下載文件的大小

    eg: wget -Q5m -i filelist.txt
    當想要下載的文件超過5M而退出下載可以使用。只能是批量遞歸下載使用。

  • 實例10:下載指定格式的文件

    eg: wget -r -A.pdf “http://www.wordpress.com/download
    下載整個網站的時候。只下載圖片,或者視頻時很有用。

  • 實例11:過濾指定格式的文件

    eg: wget –reject=gif “http://www.wordpress.com/download
    下載整個網站時,需要過濾掉圖片,或者視頻很有用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章