您好,登錄后才能下訂單哦!
本篇內容介紹了“Linux下wget命令有哪些”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
導讀:wget是Linux中的一個下載文件的工具,wget是在Linux下開發的開放源代碼的軟件,作者是Hrvoje Niksic,后來被移植到包括Windows在內的各個平臺上。
它用在命令行下。對于Linux用戶是必不可少的工具,尤其對于網絡管理員,經常要下載一些軟件或從遠程服務器恢復備份到本地服務器。如果我們使用虛擬主機,處理這樣的事務我們只能先從遠程服務器下載到我們電腦磁盤,然后再用ftp工具上傳到服務器。這樣既浪費時間又浪費精力,那不沒辦法的事。而到了Linux VPS,它則可以直接下載到服務器而不用經過上傳這一步。wget工具體積小但功能完善,它支持斷點下載功能,同時支持FTP和HTTP下載方式,支持代理服務器和設置起來方便簡單。下面我們以實例的形式說明怎么使用wget。
[root@network test]# yum install -y wget
[root@network test]# wget --help
GNU Wget 1.14,非交互式的網絡文件下載工具。 用法: 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 關閉詳盡輸出,但不進入安靜模式。 --report-speed=TYPE Output bandwidth as TYPE. TYPE can be bits. -i, --input-file=FILE 下載本地或外部 FILE 中的 URLs。 -F, --force-html 把輸入文件當成 HTML 文件。 -B, --base=URL 解析與 URL 相關的 HTML 輸入文件 (由 -i -F 選項指定)。 --config=FILE Specify config file to use. 下載: -t, --tries=NUMBER 設置重試次數為 NUMBER (0 代表無限制)。 --retry-connrefused 即使拒絕連接也是重試。 -O, --output-document=FILE 將文檔寫入 FILE。 -nc, --no-clobber skip downloads that would download to existing files (overwriting them). -c, --continue 斷點續傳下載文件。 --progress=TYPE 選擇進度條類型。 -N, --timestamping 只獲取比本地文件新的文件。 --no-use-server-timestamps 不用服務器上的時間戳來設置本地文件。 -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.5*WAIT...1.5*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 作為默認遠程編碼。 --unlink remove file before clobber. 目錄: -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 頭部 (尚在實驗)。 --content-on-error output the received content on server errors. --auth-no-challenge 發送不含服務器詢問的首次等待 的基本 HTTP 驗證信息。 HTTPS (SSL/TLS) 選項: --secure-protocol=PR choose secure protocol, one of auto, SSLv2, SSLv3, TLSv1, TLSv1_1 and TLSv1_2. --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”傳輸模式。 --preserve-permissions 保留遠程文件的權限。 --retr-symlinks 遞歸目錄時,獲取鏈接的文件 (而非目錄)。 WARC options: --warc-file=FILENAME save request/response data to a .warc.gz file. --warc-header=STRING insert STRING into the warcinfo record. --warc-max-size=NUMBER set maximum size of WARC files to NUMBER. --warc-cdx write CDX index files. --warc-dedup=FILENAME do not store records listed in this CDX file. --no-warc-compression do not compress WARC files with GZIP. --no-warc-digests do not calculate SHA1 digests. --no-warc-keep-log do not store the log file in a WARC record. --warc-tempdir=DIRECTORY location for temporary files created by the WARC writer. 遞歸下載: -r, --recursive 指定遞歸下載。 -l, --level=NUMBER 最大遞歸深度 (inf 或 0 代表無限制,即全部下載)。 --delete-after 下載完成后刪除本地文件。 -k, --convert-links 讓下載得到的 HTML 或 CSS 中的鏈接指向本地文件。 --backups=N before writing file X, rotate up to N backup files. -K, --backup-converted 在轉換文件 X 前先將它備份為 X.orig。 -m, --mirror -N -r -l inf --no-remove-listing 的縮寫形式。 -p, --page-requisites 下載所有用于顯示 HTML 頁面的圖片之類的元素。 --strict-comments 用嚴格方式 (SGML) 處理 HTML 注釋。 遞歸接受/拒絕: -A, --accept=LIST 逗號分隔的可接受的擴展名列表。 -R, --reject=LIST 逗號分隔的要拒絕的擴展名列表。 --accept-regex=REGEX regex matching accepted URLs. --reject-regex=REGEX regex matching rejected URLs. --regex-type=TYPE regex type (posix|pcre). -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 use the name specified by the redirection url last component. -X, --exclude-directories=LIST 排除目錄的列表。 -np, --no-parent 不追溯至父目錄。
以下的例子是從網絡下載一個文件并保存在當前目錄
在下載的過程中會顯示進度條,包含(下載完成百分比,已經下載的字節,當前下載速度,剩余下載時間)。
wget http://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz
[root@network test]# wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz [root@network test]# ls wordpress-4.9.4-zh_CN.tar.gz
我們可以使用參數-O
來指定一個文件名:
wget -O wordpress.tar.gz http://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz wordpress.tar.gz
使用wget -c
重新啟動下載中斷的文件:
對于我們下載大文件時突然由于網絡等原因中斷非常有幫助,我們可以繼續接著下載而不是重新下載一個文件
wget -c https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz
對于下載非常大的文件的時候,我們可以使用參數-b
進行后臺下載
[root@network test]# wget -b https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz 繼續在后臺運行,pid 為 1463。 將把輸出寫入至 “wget-log”。
你可以使用以下命令來察看下載進度
[root@network test]# tail -f wget-log 8550K .......... .......... .......... .......... .......... 96% 814K 0s 8600K .......... .......... .......... .......... .......... 97% 9.53M 0s 8650K .......... .......... .......... .......... .......... 98% 86.8M 0s 8700K .......... .......... .......... .......... .......... 98% 145M 0s 8750K .......... .......... .......... .......... .......... 99% 67.4M 0s 8800K .......... .......... .......... .......... .......... 99% 107M 0s 8850K .......... ......... 100% 1.95M=16s 2018-11-10 15:39:07 (564 KB/s) - 已保存 “wordpress-4.9.4-zh_CN.tar.gz.2” [9082696/9082696])
有些網站能通過根據判斷代理名稱不是瀏覽器而拒絕你的下載請求。不過你可以通過–user-agent
參數偽裝。
當你打算進行定時下載,你應該在預定時間測試下載鏈接是否有效。我們可以增加–spider
參數進行檢查。
wget –spider URL 如果下載鏈接正確,將會顯示 wget –spider URL Spider mode enabled. Check if remote file exists. HTTP request sent, awaiting response… 200 OK Length: unspecified [text/html] Remote file exists and could contain further links, but recursion is disabled — not retrieving. 這保證了下載能在預定的時間進行,但當你給錯了一個鏈接,將會顯示如下錯誤 wget –spider url Spider mode enabled. Check if remote file exists. HTTP request sent, awaiting response… 404 Not Found Remote file does not exist — broken link!!!
你可以在以下幾種情況下使用spider參數:
定時下載之前進行檢查
間隔檢測網站是否可用
檢查網站頁面的死鏈接
如果網絡有問題或下載一個大文件也有可能失敗。wget默認重試20次連接下載文件。如果需要,你可以使用–tries
增加重試次數。
wget –tries=40 URL
首先,保存一份下載鏈接文件 cat > filelist.txt url1 url2 url3 url4 接著使用這個文件和參數-i下載 wget -i filelist.txt
wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org
或者
wget -mkEpnp http://example.org
--mirror – 遞歸下載給定網站下的所有資源
--convert-links – 轉換絕對鏈接成相對鏈接
--adjust-extension – 根據Content-Type調整文件名,添加合適的文件擴展名
--page-requisites – 下載依賴的其他CSS, Javascript, Image等資源
--no-parent – 不下載父級目錄資源
你想下載一個網站,但你不希望下載圖片,你可以使用以下命令。
wget –reject=gif url
你不希望下載信息直接顯示在終端而是在一個日志文件,可以使用以下命令:
wget -o download.log URL
使用wget -O
下載并以不同的文件名保存(-O:下載文件到對應目錄,并且修改文件名稱)
wget -O wordpress.zip http://www.minjieren.com/download.aspx?id=1080
使用wget -b
后臺下載
wget -b http://www.minjieren.com/wordpress-3.1-zh_CN.zip
備注: 你可以使用以下命令來察看下載進度:tail -f wget-log
利用-spider
: 模擬下載,不會下載,只是會檢查是否網站是否好著
[root@localhost ~]# wget --spider www.baidu.com #不下載任何文件
模擬下載打印服務器響應
[root@localhost ~]# wget -S www.baidu.com # 打印服務器響應
設定指定次數
[root@localhost ~]# wget -r --tries=2 www.baidu.com (指定嘗試2次,2次后不再嘗試) [root@localhost ~]# wget -r --tries=2 -q www.baidu.com (指定嘗試,且不打印中間結果)
“Linux下wget命令有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。