GNU/Linux >> Znalost Linux >  >> Linux

Příkaz wget pro Linux s příklady

Linuxový nástroj příkazového řádku wget je šikovný nástroj používaný ke stahování souborů přes internet. Obvykle se používá, když chcete stáhnout tarball a soubory zip, balíčky deb a rpm z webu.

Pomocí příkazu wget můžete stáhnout soubor přes protokoly HTTP, HTTPS nebo dokonce FTP. Spolu s příkazem wget můžete použít řadu možností, díky nimž je výkonný.

V tomto tutoriálu se na příkladech podíváme na to, jak používat příkaz GNU wget.

syntaxe wget

Syntaxe pro použití wget je docela přímočará. Jednoduše vyvolejte příkaz wget, poté možnosti a poté odkaz na web, jak je znázorněno.

$ wget [ options ] url

Nainstalujte wget

Většina moderních linuxových distribucí se dodává s nástrojem wget, takže jej nemusíte instalovat. Existují však případy, kdy může být vyžadována instalace, zejména ve starších systémech a některých cloudových instancích nebo k vyřešení chybové zprávy „–bash:wget:Command not found“.

Pro příchutě Ubuntu a Debian spusťte pomocí správce balíčků APT následující příkaz:

$ sudo apt-get install wget

Chcete-li nainstalovat příkaz wget ve variantách RHEL / CentOS 8, spusťte:

$ sudo dnf install wget

Pro starší verze (RHEL 7 a CentOS 7 a starší) použijte správce balíčků yum následovně

$ sudo yum install wget

Pro distribuce Arch Linux a Arch Linux, jako je Manjaro, Arch Linux a Endeavour OS, použijte správce balíčků pacman následovně:

$ sudo pacman -S wget

Stáhnout soubor z internetu

Ve své nejzákladnější podobě, bez použití jakýchkoli možností, příkaz wget stáhne soubor z internetu, jak je uvedeno v URL. Nejjednodušší syntaxe je uvedena níže:

$ wget website_url

Například v níže uvedeném příkladu stahujeme nejnovější tarball WordPress z oficiálního webu WordPress.

$ wget https://wordpress.org/latest.tar.gz

Z výstupu vidíme, že wget nejprve přeloží doménu webu na IP adresu, na kterou se připojí k serveru a následně zahájí přenos souboru. Když stahování probíhá, zobrazí se indikátor průběhu, který uvádí název souboru, velikost, rychlost stahování a odhadovaný čas dokončení stahování.

Po dokončení stahování se ujistěte, že soubor najdete ve svém aktuálním pracovním adresáři. To lze ověřit vyvoláním příkazu ls.

Stáhněte si soubor a uložte jej pod konkrétním jménem

Pokud chcete soubor uložit pod jiným názvem, než je původní název, jednoduše předejte -O možnost následovaná vámi preferovaným jménem.

$ wget -O wordpress.tar.gz https://wordpress.org/latest.tar.gz

Výše uvedený příkaz stáhne původní soubor 'latest.tar.gz' z webu WordPress a uloží jej jako 'wordpress.tar.gz'.

Stáhnout do konkrétního adresáře

Jak bylo uvedeno výše, wget stáhne soubor do vašeho aktuálního pracovního adresáře. Pomocí -P můžete určit jiné umístění stahování příznak následovaný cestou k cílovému adresáři.

$ wget -P /var/www/html https://wordpress.org/latest.tar.gz

Ve výše uvedeném příkladu je soubor uložen v adresáři /var/www/html.

Omezit rychlost stahování

Pomocí wget můžete také omezit rychlost stahování souborů. Chcete-li omezit rychlost stahování, vyvolejte --limit-rate možnost následovaná rychlostí stahování. Rychlost se obvykle měří v bajtech za sekundu.

Chcete-li nastavit limitní rychlost na 500 KB/s, spusťte následující příkaz:

$ wget --limit-rate=500k https://wordpress.org/latest.tar.gz

Jak pokračovat v získávání částečně staženého souboru

Někdy během stahování souboru může vaše připojení náhle přestat a zůstane vám částečně stažený soubor. Místo restartování stahování použijte wget -C možnost obnovit stahování, jak je uvedeno.

$ wget -c https://wordpress.org/latest.tar.gz

Ve výše uvedeném příkladu obnovujeme stahování souboru tarball souboru z WordPressu. Pamatujte, že pokud web nereaguje na obnovení stahování souboru, příkaz restartuje stahování souboru a přepíše stávající.

Stáhnout soubor na pozadí

Chcete-li stáhnout soubor na pozadí, předejte wget -b možnost, jak je uvedeno níže.

$ wget -b https://osdn.net/projects/manjaro/storage/kde/20.0.3/manjaro-kde-20.0.3-200606-linux56.iso

Ve výše uvedeném příkladu stahujeme soubor Manjaro KDE Plasma ISO na pozadí. Chcete-li sledovat stav stahování, použijte příkaz wget log, jak je uvedeno

$ tail –f wget –log

Stáhnout více souborů

Pokud máte ke stažení více souborů, je obtížné spouštět příkaz wget opakovaně na terminálu. Lepším přístupem by bylo spustit příkaz wget jednou a stáhnout soubory jeden po druhém.

Chcete-li to provést, uložte adresy URL webových stránek do textového souboru. Poté vyvolejte příkaz wget s -i možnost následovaná názvem textového souboru.

V tomto příkladu si chceme stáhnout soubor WordPress tarball a komprimovaný soubor OwnCloud. Nejprve jsme uložili odkazy ke stažení do ukázkového souboru, nazvěme ho 'downloads.txt':

https://wordpress.org/latest.tar.gz
https://download.owncloud.org/community/owncloud-complete-20200731.zip

Chcete-li nyní stáhnout více souborů, spusťte:

$ wget -i downloads.txt

Ty budou staženy jeden po druhém. A takto stahujete více souborů.

Stáhněte si zrcadlo webové stránky

Dalším ne běžně známým použitím wgetu je schopnost klonovat nebo vytvořit zrcadlovou kopii webové stránky. Můžete toho dosáhnout předáním -m možnost, jak je znázorněno. Tím se vytvoří zrcadlová kopie webu spolu se všemi interními odkazy a dalšími zdroji, jako jsou obrázky, widgety, Javascript a soubory CSS.

$ wget -m http://www.example.com

Pokud máte v úmyslu klonovat web pro místní procházení, předejte další argumenty, jak je uvedeno.

$ wget -m -k -p http://www.example.com

-k flag usnadňuje převod odkazu do formátu vhodného pro místní prohlížení. Mezitím -p volba dává pokyn obslužnému programu wget ke stažení relevantních souborů potřebných pro zobrazení obsahu na stránce HTML v prohlížeči.

Ignorovat certifikát SSL

Aby nedošlo k chybě při stahování souboru přes HTTPS z webového serveru, jehož certifikát SSL není důvěryhodný nebo platný, předejte --no-check-certificate možnost:

$ wget --no-check-certificate https://domain-with-untrusted-ssl-cert

Stáhnout a přesměrovat výstup do souboru protokolu

Výstup příkazu wget lze zaprotokolovat během stahování souboru pomocí -o možnost podle obrázku:

$ wget -o download.log https://wordpress.org/latest.tar.gz

Poté můžete zobrazit soubor protokolu v reálném čase, jak stahování probíhá, pomocí příkazu tail, jak je znázorněno:

$ tail -f download.log

Omezit počet opakování stahování

Někdy můžete zaznamenat nízkou rychlost šířky pásma, která vám může bránit ve stahování souboru. Počet opakování stahování můžete nastavit pomocí wget --tries=[no. of tries] možnost podle obrázku:

$ wget --tries=10 https://wordpress.org/latest.tar.gz

Ve výše uvedeném příkladu se get pokusí stáhnout soubor tarball 10krát před ukončením.

Stáhnout ze serveru FTP

Můžete si také stáhnout soubor z FTP serveru, i když je chráněn heslem. Vše, co musíte udělat, je předat ftp uživatelské jméno a heslo do příkazu wget, jak je uvedeno:

$ wget --ftp-user=[ftp_user] --ftp-password=[ftp_password] ftp://ftp.ftp-site.com

Změnit wget User agent

Uživatelský agent je v podstatě pole záhlaví, které prohlížeč odesílá na webový server. Pokud stahujete webovou stránku, wget bude emulovat webový prohlížeč. Stává se, že se občas zobrazí chyba označující, že nemáte dostatečná oprávnění pro přístup k serveru. Když k tomu dojde, je pravděpodobné, že webová stránka nebo webový server blokuje prohlížeč, který je spojen s konkrétním „User-Agentem“. Zde je databáze uživatelských agentů, které můžete najít.

Chcete-li změnit uživatelského agenta, použijte syntaxi:

$ wget -U "user agent" URL

Chcete-li například stáhnout web example.com při emulaci prohlížeče Google Chrome verze 74 – což je nejnovější verze, použijte:

$ wget -U "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36" "http://example.com"

Rekurzivní stahování

Chcete-li stáhnout web pro místní prohlížení, musíte zapnout rekurzivní stahování pomocí -r nebo --recursive a odkazy se převedou na místní odkazy pomocí -k nebo --convert-links možnost.

Například:

$ wget -rk https://example.com

Závěr

Jak jste si všimli, wget je tak výkonný a flexibilní nástroj, který můžete použít k získávání souborů z internetu. V tomto tutoriálu jsem vám ukázal různé způsoby, jak můžete používat wget a jak můžete stahovat soubory a webové stránky z webových serverů přes http, https a ftp. Pro více informací o použití příkazu wget navštivte manuálové stránky.


Linux
  1. Příkaz nslookup Linux vysvětlený s příklady

  2. Příkaz Linux Traceroute, vysvětlený s příklady

  3. Příklady příkazů wget v Linuxu

  1. Příkaz vypnutí Linuxu s příklady

  2. JQ Command v Linuxu s příklady

  3. Příkaz Wget v Linuxu s příklady

  1. wc Linux Command s příklady

  2. Linux cut Command Vysvětlení pomocí 6 příkladů

  3. Příkaz Wget v Linuxu s příklady