您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“Linux下wget命令有哪些”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
導(dǎo)讀:wget是Linux中的一個(gè)下載文件的工具,wget是在Linux下開(kāi)發(fā)的開(kāi)放源代碼的軟件,作者是Hrvoje Niksic,后來(lái)被移植到包括Windows在內(nèi)的各個(gè)平臺(tái)上。
它用在命令行下。對(duì)于Linux用戶是必不可少的工具,尤其對(duì)于網(wǎng)絡(luò)管理員,經(jīng)常要下載一些軟件或從遠(yuǎn)程服務(wù)器恢復(fù)備份到本地服務(wù)器。如果我們使用虛擬主機(jī),處理這樣的事務(wù)我們只能先從遠(yuǎn)程服務(wù)器下載到我們電腦磁盤(pán),然后再用ftp工具上傳到服務(wù)器。這樣既浪費(fèi)時(shí)間又浪費(fèi)精力,那不沒(méi)辦法的事。而到了Linux VPS,它則可以直接下載到服務(wù)器而不用經(jīng)過(guò)上傳這一步。wget工具體積小但功能完善,它支持?jǐn)帱c(diǎn)下載功能,同時(shí)支持FTP和HTTP下載方式,支持代理服務(wù)器和設(shè)置起來(lái)方便簡(jiǎn)單。下面我們以實(shí)例的形式說(shuō)明怎么使用wget。
[root@network test]# yum install -y wget
[root@network test]# wget --help
GNU Wget 1.14,非交互式的網(wǎng)絡(luò)文件下載工具。 用法: wget [選項(xiàng)]... [URL]... 長(zhǎng)選項(xiàng)所必須的參數(shù)在使用短選項(xiàng)時(shí)也是必須的。 啟動(dòng): -V, --version 顯示 Wget 的版本信息并退出。 -h, --help 打印此幫助。 -b, --background 啟動(dòng)后轉(zhuǎn)入后臺(tái)。 -e, --execute=COMMAND 運(yùn)行一個(gè)“.wgetrc”風(fēng)格的命令。 日志和輸入文件: -o, --output-file=FILE 將日志信息寫(xiě)入 FILE。 -a, --append-output=FILE 將信息添加至 FILE。 -d, --debug 打印大量調(diào)試信息。 -q, --quiet 安靜模式 (無(wú)信息輸出)。 -v, --verbose 詳盡的輸出 (此為默認(rèn)值)。 -nv, --no-verbose 關(guān)閉詳盡輸出,但不進(jìn)入安靜模式。 --report-speed=TYPE Output bandwidth as TYPE. TYPE can be bits. -i, --input-file=FILE 下載本地或外部 FILE 中的 URLs。 -F, --force-html 把輸入文件當(dāng)成 HTML 文件。 -B, --base=URL 解析與 URL 相關(guān)的 HTML 輸入文件 (由 -i -F 選項(xiàng)指定)。 --config=FILE Specify config file to use. 下載: -t, --tries=NUMBER 設(shè)置重試次數(shù)為 NUMBER (0 代表無(wú)限制)。 --retry-connrefused 即使拒絕連接也是重試。 -O, --output-document=FILE 將文檔寫(xiě)入 FILE。 -nc, --no-clobber skip downloads that would download to existing files (overwriting them). -c, --continue 斷點(diǎn)續(xù)傳下載文件。 --progress=TYPE 選擇進(jìn)度條類(lèi)型。 -N, --timestamping 只獲取比本地文件新的文件。 --no-use-server-timestamps 不用服務(wù)器上的時(shí)間戳來(lái)設(shè)置本地文件。 -S, --server-response 打印服務(wù)器響應(yīng)。 --spider 不下載任何文件。 -T, --timeout=SECONDS 將所有超時(shí)設(shè)為 SECONDS 秒。 --dns-timeout=SECS 設(shè)置 DNS 查尋超時(shí)為 SECS 秒。 --connect-timeout=SECS 設(shè)置連接超時(shí)為 SECS 秒。 --read-timeout=SECS 設(shè)置讀取超時(shí)為 SECS 秒。 -w, --wait=SECONDS 等待間隔為 SECONDS 秒。 --waitretry=SECONDS 在獲取文件的重試期間等待 1..SECONDS 秒。 --random-wait 獲取多個(gè)文件時(shí),每次隨機(jī)等待間隔 0.5*WAIT...1.5*WAIT 秒。 --no-proxy 禁止使用代理。 -Q, --quota=NUMBER 設(shè)置獲取配額為 NUMBER 字節(jié)。 --bind-address=ADDRESS 綁定至本地主機(jī)上的 ADDRESS (主機(jī)名或是 IP)。 --limit-rate=RATE 限制下載速率為 RATE。 --no-dns-cache 關(guān)閉 DNS 查尋緩存。 --restrict-file-names=OS 限定文件名中的字符為 OS 允許的字符。 --ignore-case 匹配文件/目錄時(shí)忽略大小寫(xiě)。 -4, --inet4-only 僅連接至 IPv4 地址。 -6, --inet6-only 僅連接至 IPv6 地址。 --prefer-family=FAMILY 首先連接至指定協(xié)議的地址 FAMILY 為 IPv6,IPv4 或是 none。 --user=USER 將 ftp 和 http 的用戶名均設(shè)置為 USER。 --password=PASS 將 ftp 和 http 的密碼均設(shè)置為 PASS。 --ask-password 提示輸入密碼。 --no-iri 關(guān)閉 IRI 支持。 --local-encoding=ENC IRI (國(guó)際化資源標(biāo)識(shí)符) 使用 ENC 作為本地編碼。 --remote-encoding=ENC 使用 ENC 作為默認(rèn)遠(yuǎn)程編碼。 --unlink remove file before clobber. 目錄: -nd, --no-directories 不創(chuàng)建目錄。 -x, --force-directories 強(qiáng)制創(chuàng)建目錄。 -nH, --no-host-directories 不要?jiǎng)?chuàng)建主目錄。 --protocol-directories 在目錄中使用協(xié)議名稱。 -P, --directory-prefix=PREFIX 以 PREFIX/... 保存文件 --cut-dirs=NUMBER 忽略遠(yuǎn)程目錄中 NUMBER 個(gè)目錄層。 HTTP 選項(xiàng): --http-user=USER 設(shè)置 http 用戶名為 USER。 --http-password=PASS 設(shè)置 http 密碼為 PASS。 --no-cache 不在服務(wù)器上緩存數(shù)據(jù)。 --default-page=NAME 改變默認(rèn)頁(yè) (默認(rèn)頁(yè)通常是“index.html”)。 -E, --adjust-extension 以合適的擴(kuò)展名保存 HTML/CSS 文檔。 --ignore-length 忽略頭部的‘Content-Length'區(qū)域。 --header=STRING 在頭部插入 STRING。 --max-redirect 每頁(yè)所允許的最大重定向。 --proxy-user=USER 使用 USER 作為代理用戶名。 --proxy-password=PASS 使用 PASS 作為代理密碼。 --referer=URL 在 HTTP 請(qǐng)求頭包含‘Referer: URL'。 --save-headers 將 HTTP 頭保存至文件。 -U, --user-agent=AGENT 標(biāo)識(shí)為 AGENT 而不是 Wget/VERSION。 --no-http-keep-alive 禁用 HTTP keep-alive (永久連接)。 --no-cookies 不使用 cookies。 --load-cookies=FILE 會(huì)話開(kāi)始前從 FILE 中載入 cookies。 --save-cookies=FILE 會(huì)話結(jié)束后保存 cookies 至 FILE。 --keep-session-cookies 載入并保存會(huì)話 (非永久) cookies。 --post-data=STRING 使用 POST 方式;把 STRING 作為數(shù)據(jù)發(fā)送。 --post-file=FILE 使用 POST 方式;發(fā)送 FILE 內(nèi)容。 --content-disposition 當(dāng)選中本地文件名時(shí) 允許 Content-Disposition 頭部 (尚在實(shí)驗(yàn))。 --content-on-error output the received content on server errors. --auth-no-challenge 發(fā)送不含服務(wù)器詢問(wèn)的首次等待 的基本 HTTP 驗(yàn)證信息。 HTTPS (SSL/TLS) 選項(xiàng): --secure-protocol=PR choose secure protocol, one of auto, SSLv2, SSLv3, TLSv1, TLSv1_1 and TLSv1_2. --no-check-certificate 不要驗(yàn)證服務(wù)器的證書(shū)。 --certificate=FILE 客戶端證書(shū)文件。 --certificate-type=TYPE 客戶端證書(shū)類(lèi)型,PEM 或 DER。 --private-key=FILE 私鑰文件。 --private-key-type=TYPE 私鑰文件類(lèi)型,PEM 或 DER。 --ca-certificate=FILE 帶有一組 CA 認(rèn)證的文件。 --ca-directory=DIR 保存 CA 認(rèn)證的哈希列表的目錄。 --random-file=FILE 帶有生成 SSL PRNG 的隨機(jī)數(shù)據(jù)的文件。 --egd-file=FILE 用于命名帶有隨機(jī)數(shù)據(jù)的 EGD 套接字的文件。 FTP 選項(xiàng): --ftp-user=USER 設(shè)置 ftp 用戶名為 USER。 --ftp-password=PASS 設(shè)置 ftp 密碼為 PASS。 --no-remove-listing 不要?jiǎng)h除‘.listing'文件。 --no-glob 不在 FTP 文件名中使用通配符展開(kāi)。 --no-passive-ftp 禁用“passive”傳輸模式。 --preserve-permissions 保留遠(yuǎn)程文件的權(quán)限。 --retr-symlinks 遞歸目錄時(shí),獲取鏈接的文件 (而非目錄)。 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 代表無(wú)限制,即全部下載)。 --delete-after 下載完成后刪除本地文件。 -k, --convert-links 讓下載得到的 HTML 或 CSS 中的鏈接指向本地文件。 --backups=N before writing file X, rotate up to N backup files. -K, --backup-converted 在轉(zhuǎn)換文件 X 前先將它備份為 X.orig。 -m, --mirror -N -r -l inf --no-remove-listing 的縮寫(xiě)形式。 -p, --page-requisites 下載所有用于顯示 HTML 頁(yè)面的圖片之類(lèi)的元素。 --strict-comments 用嚴(yán)格方式 (SGML) 處理 HTML 注釋。 遞歸接受/拒絕: -A, --accept=LIST 逗號(hào)分隔的可接受的擴(kuò)展名列表。 -R, --reject=LIST 逗號(hào)分隔的要拒絕的擴(kuò)展名列表。 --accept-regex=REGEX regex matching accepted URLs. --reject-regex=REGEX regex matching rejected URLs. --regex-type=TYPE regex type (posix|pcre). -D, --domains=LIST 逗號(hào)分隔的可接受的域列表。 --exclude-domains=LIST 逗號(hào)分隔的要拒絕的域列表。 --follow-ftp 跟蹤 HTML 文檔中的 FTP 鏈接。 --follow-tags=LIST 逗號(hào)分隔的跟蹤的 HTML 標(biāo)識(shí)列表。 --ignore-tags=LIST 逗號(hào)分隔的忽略的 HTML 標(biāo)識(shí)列表。 -H, --span-hosts 遞歸時(shí)轉(zhuǎn)向外部主機(jī)。 -L, --relative 只跟蹤有關(guān)系的鏈接。 -I, --include-directories=LIST 允許目錄的列表。 --trust-server-names use the name specified by the redirection url last component. -X, --exclude-directories=LIST 排除目錄的列表。 -np, --no-parent 不追溯至父目錄。
以下的例子是從網(wǎng)絡(luò)下載一個(gè)文件并保存在當(dāng)前目錄
在下載的過(guò)程中會(huì)顯示進(jìn)度條,包含(下載完成百分比,已經(jīng)下載的字節(jié),當(dāng)前下載速度,剩余下載時(shí)間)。
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
我們可以使用參數(shù)-O
來(lái)指定一個(gè)文件名:
wget -O wordpress.tar.gz http://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz wordpress.tar.gz
使用wget -c
重新啟動(dòng)下載中斷的文件:
對(duì)于我們下載大文件時(shí)突然由于網(wǎng)絡(luò)等原因中斷非常有幫助,我們可以繼續(xù)接著下載而不是重新下載一個(gè)文件
wget -c https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz
對(duì)于下載非常大的文件的時(shí)候,我們可以使用參數(shù)-b
進(jìn)行后臺(tái)下載
[root@network test]# wget -b https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz 繼續(xù)在后臺(tái)運(yùn)行,pid 為 1463。 將把輸出寫(xiě)入至 “wget-log”。
你可以使用以下命令來(lái)察看下載進(jìn)度
[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])
有些網(wǎng)站能通過(guò)根據(jù)判斷代理名稱不是瀏覽器而拒絕你的下載請(qǐng)求。不過(guò)你可以通過(guò)–user-agent
參數(shù)偽裝。
當(dāng)你打算進(jìn)行定時(shí)下載,你應(yīng)該在預(yù)定時(shí)間測(cè)試下載鏈接是否有效。我們可以增加–spider
參數(shù)進(jìn)行檢查。
wget –spider URL 如果下載鏈接正確,將會(huì)顯示 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. 這保證了下載能在預(yù)定的時(shí)間進(jìn)行,但當(dāng)你給錯(cuò)了一個(gè)鏈接,將會(huì)顯示如下錯(cuò)誤 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參數(shù):
定時(shí)下載之前進(jìn)行檢查
間隔檢測(cè)網(wǎng)站是否可用
檢查網(wǎng)站頁(yè)面的死鏈接
如果網(wǎng)絡(luò)有問(wèn)題或下載一個(gè)大文件也有可能失敗。wget默認(rèn)重試20次連接下載文件。如果需要,你可以使用–tries
增加重試次數(shù)。
wget –tries=40 URL
首先,保存一份下載鏈接文件 cat > filelist.txt url1 url2 url3 url4 接著使用這個(gè)文件和參數(shù)-i下載 wget -i filelist.txt
wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org
或者
wget -mkEpnp http://example.org
--mirror – 遞歸下載給定網(wǎng)站下的所有資源
--convert-links – 轉(zhuǎn)換絕對(duì)鏈接成相對(duì)鏈接
--adjust-extension – 根據(jù)Content-Type調(diào)整文件名,添加合適的文件擴(kuò)展名
--page-requisites – 下載依賴的其他CSS, Javascript, Image等資源
--no-parent – 不下載父級(jí)目錄資源
你想下載一個(gè)網(wǎng)站,但你不希望下載圖片,你可以使用以下命令。
wget –reject=gif url
你不希望下載信息直接顯示在終端而是在一個(gè)日志文件,可以使用以下命令:
wget -o download.log URL
使用wget -O
下載并以不同的文件名保存(-O:下載文件到對(duì)應(yīng)目錄,并且修改文件名稱)
wget -O wordpress.zip http://www.minjieren.com/download.aspx?id=1080
使用wget -b
后臺(tái)下載
wget -b http://www.minjieren.com/wordpress-3.1-zh_CN.zip
備注: 你可以使用以下命令來(lái)察看下載進(jìn)度:tail -f wget-log
利用-spider
: 模擬下載,不會(huì)下載,只是會(huì)檢查是否網(wǎng)站是否好著
[root@localhost ~]# wget --spider www.baidu.com #不下載任何文件
模擬下載打印服務(wù)器響應(yīng)
[root@localhost ~]# wget -S www.baidu.com # 打印服務(wù)器響應(yīng)
設(shè)定指定次數(shù)
[root@localhost ~]# wget -r --tries=2 www.baidu.com (指定嘗試2次,2次后不再嘗試) [root@localhost ~]# wget -r --tries=2 -q www.baidu.com (指定嘗試,且不打印中間結(jié)果)
“Linux下wget命令有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。