溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux下wget命令有哪些

發(fā)布時(shí)間:2021-12-03 11:30:20 來(lái)源:億速云 閱讀:145 作者:iii 欄目:開(kāi)發(fā)技術(shù)

本篇內(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。

首先安裝wget

[root@network test]# yum install -y wget

查看幫助手冊(cè)

[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                 不追溯至父目錄。

1、使用 wget 下載單個(gè)文件

以下的例子是從網(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

2、使用 wget -O 下載并以不同的文件名保存

[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

3、使用 wget -c 斷點(diǎn)續(xù)傳

使用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

4、使用 wget -b 后臺(tái)下載

對(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])

5、偽裝代理名稱下載

有些網(wǎng)站能通過(guò)根據(jù)判斷代理名稱不是瀏覽器而拒絕你的下載請(qǐng)求。不過(guò)你可以通過(guò)–user-agent參數(shù)偽裝。

6、使用 wget –spider 測(cè)試下載鏈接

當(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è)面的死鏈接

7、使用 wget –tries 增加重試次數(shù)

如果網(wǎng)絡(luò)有問(wèn)題或下載一個(gè)大文件也有可能失敗。wget默認(rèn)重試20次連接下載文件。如果需要,你可以使用–tries增加重試次數(shù)。

wget –tries=40 URL

8、使用 wget -i 下載多個(gè)文件

首先,保存一份下載鏈接文件

cat > filelist.txt
url1
url2
url3
url4
接著使用這個(gè)文件和參數(shù)-i下載

wget -i filelist.txt

9、使用 wget –mirror 鏡像網(wǎng)站

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í)目錄資源

10、使用 wget –reject 過(guò)濾指定格式下載

你想下載一個(gè)網(wǎng)站,但你不希望下載圖片,你可以使用以下命令。

wget –reject=gif url

11、使用 wget -o 把下載信息存入日志文件

你不希望下載信息直接顯示在終端而是在一個(gè)日志文件,可以使用以下命令:

wget -o download.log URL

示例

使用wget -O下載并以不同的文件名保存(-O:下載文件到對(duì)應(yīng)目錄,并且修改文件名稱)

wget -O wordpress.zip http://www.minjieren.com/download.aspx?id=1080

Linux下wget命令有哪些

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

Linux下wget命令有哪些

模擬下載打印服務(wù)器響應(yīng)

[root@localhost ~]# wget -S  www.baidu.com     # 打印服務(wù)器響應(yīng)

Linux下wget命令有哪些

設(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命令有哪些

“Linux下wget命令有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI