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”
下載整個網站時,需要過濾掉圖片,或者視頻很有用。