0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

wget命令8種實(shí)用用法

Q4MP_gh_c472c21 ? 來(lái)源:良許Linux ? 作者:良許Linux ? 2022-11-12 15:56 ? 次閱讀
wget 是一個(gè)可以從網(wǎng)絡(luò)上下載文件的免費(fèi)實(shí)用程序,它的工作原理是從 Internet 上獲取數(shù)據(jù),并將其保存到本地文件中或顯示在你的終端上。 這實(shí)際上也是大家所使用的瀏覽器所做的,例如 Firefox 或 Chrome,其實(shí)在內(nèi)部也是調(diào)用了 wget 程序進(jìn)行數(shù)據(jù)下載。 今天給大家介紹 8 個(gè) wget 命令常見(jiàn)使用方式,希望能對(duì)小伙伴們有所幫助。

1. 使用 wget 命令下載文件

你可以使用 wget 命令來(lái)下載指定鏈接的文件。默認(rèn)情況下,下載的文件將保存到當(dāng)前工作目錄中的同名文件中。

		
			$wgethttp://www.lxlinux.net --2021-09-201747--http://www.lxlinux.net/ Resolvingwww.lxlinux.net...93.184.216.34,260622024825c8:1946 Connectingtowww.lxlinux.net|93.184.216.34|:80...connected. HTTPrequestsent,awaitingresponse...200OK Length:1256(1.2K)[text/html] Savingto:'index.html'
			如果你不想將下載的文件保存在本地,而只是想將其顯示在標(biāo)準(zhǔn)輸出(stdout)里,可以使用 --output-document 選項(xiàng),同時(shí)后面再跟上一個(gè) - 號(hào)。

		
			$wgethttp://www.lxlinux.net--output-document-|head-n4    ExampleDomain
			如果你想給下載的文件重新命名,那么可以使用 --output-document 選項(xiàng)(或者更簡(jiǎn)便,直接使用 -O 即可):

		
			$wgethttp://www.lxlinux.net--output-documentnewfile.html

2. 斷點(diǎn)續(xù)傳

如果你要下載的文件非常大,因?yàn)榫W(wǎng)絡(luò)的原因有可能出現(xiàn)一次性無(wú)法下載完全的情況。如果每次都要重新下載,那么都不知道要等到猴年馬月。 這種情況下,就可以使用 --continue 選項(xiàng)(或者 -c )實(shí)現(xiàn)斷點(diǎn)續(xù)傳。也就是說(shuō),如果因?yàn)楦鞣N原因?qū)е孪螺d中斷,使用了這個(gè)選項(xiàng),就可以繼續(xù)上次的下載,而不需要重新進(jìn)行下載。

		
			$wget--continuehttps://www.lxlinux.net/linux-distro.iso

3. 下載一系列文件

如果你下載的不是一個(gè)大文件,而是需要很多個(gè)小文件,那么 wget 命令也可以幫你輕松實(shí)現(xiàn)。 但是,這里還需要使用一些 bash 語(yǔ)法來(lái)實(shí)現(xiàn)目的。一般來(lái)講,這些文件的名稱(chēng)都有一定的規(guī)律,比如:file_1.txt,file_2.txt,file_3.txt,等等,那么你就需要使用這樣的命令:

		
			$wgethttp://www.lxlinux.net/file_{1..4}.txt

4. 鏡像整個(gè)站點(diǎn)

如果你想對(duì)某個(gè)網(wǎng)站進(jìn)行整站下載,包括其目錄結(jié)構(gòu),那么你就需要使用 --mirror 選項(xiàng)。 這個(gè)選項(xiàng)等同于 --recursive --level inf --timestamping --no-remove-listing,這意味著它是無(wú)限遞歸的,因此你可以下載到指定域上的所有內(nèi)容。 如果你使用 wget 存檔站點(diǎn),那么這些選項(xiàng) --no-cookies --page-requisites --convert-links 也可用于確保每個(gè)頁(yè)面都是最新的、最完整的。

5. 修改 HTML 請(qǐng)求標(biāo)頭

學(xué)過(guò)網(wǎng)絡(luò)通訊的小伙伴都知道,HTTP 數(shù)據(jù)包里包含了非常多的元素。其中,HTTP 標(biāo)頭是數(shù)據(jù)包初始的組成部分。 當(dāng)你使用瀏覽器瀏覽網(wǎng)頁(yè)時(shí),你的瀏覽器會(huì)向服務(wù)器發(fā)送 HTTP 請(qǐng)求標(biāo)頭。具體發(fā)了些什么東西呢?可以使用 --debug 選項(xiàng)查看 wget 每次請(qǐng)求發(fā)送的標(biāo)頭信息

		
			$wget--debugwww.lxlinux.net ---requestbegin--- GET/HTTP/1.1 User-Agent:Wget/1.19.5(linux-gnu) Accept:*/* Accept-Encoding:identity Host:www.lxlinux.net Connection:Keep-Alive ---requestend---
			你可以使用 --header 選項(xiàng)修改請(qǐng)求標(biāo)頭。為什么要這么做呢?其實(shí)有很多使用場(chǎng)景的。例如,有時(shí)候?yàn)榱藴y(cè)試,需要模擬特定的瀏覽器發(fā)出的請(qǐng)求。
			比如,你想模擬 Edge 瀏覽器發(fā)出來(lái)的請(qǐng)求,可以這樣操作:

		
			$wget--debug--header="User-Agent:Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/91.0.4472.124Safari/537.36Edg/91.0.864.59"http://www.lxlinux.net
			除此之外,你還可以偽裝成特定的移動(dòng)設(shè)備(比如 iPhone ):

		
			$wget--debug --header="User-Agent:Mozilla/5.0(iPhone;CPUiPhoneOS13_5_1likeMacOSX)AppleWebKit/605.1.15(KHTML,likeGecko)Version/13.1.1Mobile/15E148Safari/604.1" HTTP:// www.lxlinux.net

6. 查看響應(yīng)標(biāo)頭

與瀏覽器請(qǐng)求發(fā)送標(biāo)頭信息的方式相同,標(biāo)頭信息也包含在響應(yīng)中。同樣地,你可以使用 --debug 選項(xiàng)查看響應(yīng)標(biāo)頭:

		
			$wget--debugwww.lxlinux.net [...] ---responsebegin--- HTTP/1.1200OK Accept-Ranges:bytes Age:188102 Cache-Control:max-age=604800 Content-Type:text/html;charset=UTF-8 Etag:"3147526947" Server:ECS(sab/574F) Vary:Accept-Encoding X-Cache:HIT Content-Length:1256 ---responseend--- 200OK Registeredsocket3forpersistentreuse. URIcontentencoding='UTF-8' Length:1256(1.2K)[text/html] Savingto:'index.html'

7. 響應(yīng) 301 響應(yīng)

熟悉網(wǎng)絡(luò)協(xié)議的都知道,200 響應(yīng)碼意味著一切都按預(yù)期進(jìn)行。而 301 響應(yīng)則意味著 URL 已經(jīng)指向不同的網(wǎng)站。 這種情況下,如果你需要下載文件,那么就需要使用 wget 的重定向功能。所以,如果你遇到 301 響應(yīng)時(shí),就需要使用 --max-redirect 選項(xiàng)。 如果你不想要重定向,那么可以將 --max-redirect 設(shè)置為 0 。

		
			$wget--max-redirect0http://www.lxlinux.net --2021-09-211135--http://www.lxlinux.net/ Resolvingwww.lxlinux.net...192.0.43.8,200188:8 Connectingtowww.lxlinux.net|192.0.43.8|:80...connected. HTTPrequestsent,awaitingresponse...301MovedPermanently Location:https://www.www.lxlinux.net/[following] 0redirectionsexceeded.
			或者,你還可以將其設(shè)置為其他數(shù)字以控制 wget 跟隨的重定向數(shù)量。

8. 展開(kāi)短鏈接

有時(shí)候,我們需要將一個(gè)長(zhǎng)鏈接轉(zhuǎn)為短鏈接,例如在文本框里填寫(xiě)信息時(shí),有時(shí)候文本框?qū)ψ址L(zhǎng)度有限制,這時(shí)短鏈就可以大大減少字符數(shù)。 除了使用第三方平臺(tái),其實(shí)我們可以直接使用 wget 命令來(lái)將短鏈接還原為長(zhǎng)鏈接。這里依然使用 --max-redirect 選項(xiàng):

		
			$wget--max-redirect0"https://bit.ly/2yDyS4T" --2021-09-211104--https://bit.ly/2yDyS4T Resolvingbit.ly...67.199.248.10,67.199.248.11 Connectingtobit.ly|67.199.248.10|:443...connected. HTTPrequestsent,awaitingresponse...301MovedPermanently Location:http://www.lxlinux.net/[following] 0redirectionsexceeded.
			輸出的倒數(shù)第二行,在 Location 部分,后面你就看到了短鏈展開(kāi)之后的真面目。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    690

    瀏覽量

    22062
  • wget
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    2149

原文標(biāo)題:wget命令8種實(shí)用用法

文章出處:【微信號(hào):gh_c472c2199c88,微信公眾號(hào):嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    使用curl+wget抓取網(wǎng)頁(yè)方法

    Linux抓取網(wǎng)頁(yè),簡(jiǎn)單方法是直接通過(guò) curl 或 wget命令。curl 和 wget 命令,目前已經(jīng)支持Linux和Window
    發(fā)表于 02-25 09:54

    wget命令指南分享

    wget命令指南
    發(fā)表于 05-29 17:13

    整理一下ElementUI+VUE日期控件禁用用法

    今天給大家整理一下ElementUI+VUE 日期控件禁用用法,希望對(duì)大家有所幫助!HTML文件
    發(fā)表于 01-18 09:35

    是否可以使用wget中包含的no-check-certificate命令?

    嗨, 我是 MMISCOOL 的新手,剛開(kāi)始研究它。我注意到它有 wget 但要連接到 SSL,設(shè)備需要有 SSL 證書(shū)。我感興趣的是我是否可以使用 wget 中包含的 --no-check-certificate 命令
    發(fā)表于 04-26 08:52

    Proteus之 模擬比較器的應(yīng)用用法2

    Proteus之 模擬比較器的應(yīng)用用法2,很好的Proteus資料,快來(lái)下載不學(xué)習(xí)吧。
    發(fā)表于 04-18 16:44 ?0次下載

    手機(jī)NFC的六實(shí)用用法

    每當(dāng)新機(jī)發(fā)布時(shí),相信不少小伙伴除了會(huì)關(guān)注手機(jī)的性能、拍照、續(xù)航、價(jià)格之外,而且還會(huì)關(guān)注手機(jī)是否還帶NFC功能。隨著科技發(fā)展,現(xiàn)在手機(jī)里的NFC功能已經(jīng)多達(dá)六了,接下來(lái)筆者就來(lái)告訴大家NFC究竟那六實(shí)用的用法。
    的頭像 發(fā)表于 01-23 11:37 ?2.1w次閱讀

    命令行工具Kubectl的別樣用法

    ? kubectl 是 K8s 官方附帶的命令行工具,可以方便的操作 K8s 集群。這篇文章主要介紹一些 kubectl 的別樣用法,希望讀者有一定基礎(chǔ)的 K
    的頭像 發(fā)表于 10-12 09:31 ?1895次閱讀

    pwget wget改進(jìn)版

    ./oschina_soft/wget2.zip
    發(fā)表于 05-30 15:29 ?0次下載
    pwget <b class='flag-5'>wget</b>改進(jìn)版

    Ping命令的7個(gè)基礎(chǔ)用法

    IT行業(yè)中ping命令經(jīng)常被用到,今天整理了一下關(guān)于網(wǎng)絡(luò)基礎(chǔ)知識(shí)中的網(wǎng)絡(luò)命令ping命令在項(xiàng)目中是使用頻率最高的,一般我們用的都是它的基本功能,今天和大家來(lái)詳細(xì)看下Ping命令的7個(gè)基
    的頭像 發(fā)表于 10-12 09:16 ?4013次閱讀

    模擬初始狀態(tài)相關(guān)的.ic和.save命令用法

    .step 和 .meas 命令用法。本文將繼續(xù)探討 LTspice 仿真命令,介紹 .ic 和 .save 命令用法,在評(píng)估開(kāi)關(guān)電源時(shí),它
    的頭像 發(fā)表于 10-26 10:52 ?1611次閱讀

    Linux wget命令詳解

    GNU Wget是一個(gè)命令行程序,用于從Web下載文件。Wget可以讓您可以使用HTTP,HTTPS和FTP協(xié)議下載文件。
    的頭像 發(fā)表于 12-14 17:22 ?8082次閱讀

    unzip命令的作用及用法

    unzip 命令往往用于解壓縮 zip 文件,但它能做的不僅僅是如此。今天我們主要介紹一下該命令的作用及用法
    的頭像 發(fā)表于 01-30 15:57 ?8044次閱讀

    Linux系統(tǒng)維護(hù)命令用法

    Linux有很多命令,每個(gè)命令基本可以用一篇文章介紹,本文僅簡(jiǎn)單總結(jié)一些常用系統(tǒng)維護(hù)命令用法
    的頭像 發(fā)表于 04-17 14:57 ?1072次閱讀
    Linux系統(tǒng)維護(hù)<b class='flag-5'>命令</b>的<b class='flag-5'>用法</b>

    linux常用命令用法

    Linux是一開(kāi)源的操作系統(tǒng),它以穩(wěn)定、高效和安全的特點(diǎn)受到廣大用戶(hù)的喜愛(ài)。掌握Linux的常用命令及其用法對(duì)于操作系統(tǒng)的管理和開(kāi)發(fā)都至關(guān)重要。本文將詳盡、詳實(shí)、細(xì)致地介紹Linux常用命令
    的頭像 發(fā)表于 11-17 09:47 ?687次閱讀

    Linux lsof命令的基本用法

    在 linux 系統(tǒng)中,一切皆文件。通過(guò)文件不僅僅可以訪問(wèn)常規(guī)數(shù)據(jù),還可以訪問(wèn)網(wǎng)絡(luò)連接和硬件。所以 lsof 命令不僅可以查看進(jìn)程打開(kāi)的文件、目錄,還可以查看進(jìn)程監(jiān)聽(tīng)的端口等 socket 相關(guān)的信息。本文將介紹 lsof 命令的基本
    的頭像 發(fā)表于 10-23 11:52 ?344次閱讀
    Linux lsof<b class='flag-5'>命令</b>的基本<b class='flag-5'>用法</b>