GNU Wget je nástroj příkazového řádku pro stahování souborů z webu. Pomocí Wget můžete stahovat soubory pomocí protokolů HTTP, HTTPS a FTP. Wget poskytuje řadu možností, které vám umožní stáhnout více souborů, obnovit stahování, omezit šířku pásma, rekurzivní stahování, stahování na pozadí, zrcadlení webových stránek a mnoho dalšího.
Tento článek ukazuje, jak používat wget pomocí praktických příkladů a podrobných vysvětlení nejběžnějších možností.
Instalace Wget #
Balíček wget je dnes předinstalován na většině distribucí Linuxu.
Chcete-li zkontrolovat, zda je na vašem systému nainstalován balíček Wget, otevřete konzoli a zadejte wget a stiskněte enter. Pokud máte nainstalovaný wget, systém vypíše wget: missing URL . V opačném případě vypíše wget command not found .
Pokud wget není nainstalován, můžete jej snadno nainstalovat pomocí správce balíčků vašeho distribuce.
Instalace Wget na Ubuntu a Debian #
sudo apt install wget Instalace Wget na CentOS a Fedora #
sudo yum install wget Syntaxe příkazu Wget #
Než se pustíte do používání wget příkaz, začněme zopakováním základní syntaxe.
wget pomocné výrazy mají následující podobu:
wget [options] [url]
options- Možnosti Wgeturl- URL souboru nebo adresáře, který chcete stáhnout nebo synchronizovat.
Jak stáhnout soubor pomocí wget #
Ve své nejjednodušší podobě, když je použit bez jakékoli možnosti, wget stáhne zdroj uvedený v [url] do aktuálního adresáře.
V následujícím příkladu stahujeme archiv tar linuxového jádra:
wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.17.2.tar.xz
Jak můžete vidět na obrázku výše, wget začíná vyřešením IP adresy domény, poté se připojí ke vzdálenému serveru a zahájí přenos.
Během stahování wget zobrazuje ukazatel průběhu vedle názvu souboru, velikosti souboru, rychlosti stahování a odhadovaného času dokončení stahování. Po dokončení stahování najdete stažený soubor ve svém aktuálním pracovním adresáři.
Pro vypnutí výstupu použijte -q možnost.
Pokud soubor již existuje, wget přidá .N (číslo) na konci názvu souboru.
Uložení staženého souboru pod jiným názvem #
Chcete-li stažený soubor uložit pod jiným názvem, předejte -O možnost následovaná zvoleným názvem:
wget -O latest-hugo.zip https://github.com/gohugoio/hugo/archive/master.zip
Výše uvedený příkaz uloží nejnovější soubor hugozip z GitHubu jako latest-hugo.zip místo původního názvu.
Stažení souboru do konkrétního adresáře #
Ve výchozím nastavení wget uloží stažený soubor do aktuálního pracovního adresáře. Chcete-li uložit soubor do určitého umístění, použijte -P možnost:
wget -P /mnt/iso http://mirrors.mit.edu/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1804.iso
Výše uvedený příkaz říká wget pro uložení souboru iso CentOS 7 do /mnt/iso adresář.
Omezení rychlosti stahování #
Chcete-li omezit rychlost stahování, použijte --limit-rate volba. Ve výchozím nastavení se rychlost měří v bajtech/sekundu. Připojte k pro kilobajty m pro megabajty a g pro gigabajty.
Následující příkaz stáhne binární soubor Go a omezí rychlost stahování na 1 MB:
wget --limit-rate=1m https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz
Tato možnost je užitečná, když nechcete wget využívat veškerou dostupnou šířku pásma.
Obnovení stahování #
Stahování můžete obnovit pomocí -c volba. To je užitečné, pokud vaše připojení během stahování velkého souboru přestane fungovat a místo stahování od začátku můžete pokračovat v předchozím.
V následujícím příkladu obnovujeme stahování souboru iso Ubuntu 18.04:
wget -c http://releases.ubuntu.com/18.04/ubuntu-18.04-live-server-amd64.iso
Pokud vzdálený server nepodporuje obnovení stahování, wget spustí stahování od začátku a přepíše existující soubor.
Stahování na pozadí #
Pro stahování na pozadí použijte -b volba. V následujícím příkladu stahujeme soubor iso OpenSuse na pozadí:
wget -b https://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso
Ve výchozím nastavení je výstup přesměrován do wget-log soubor v aktuálním adresáři. Chcete-li sledovat stav stahování, použijte tail příkaz:
tail -f wget-log Změna Wget User-Agent #
Někdy při stahování souboru může být vzdálený server nastaven tak, aby blokoval Wget User-Agent. V situacích jako je tato, chcete-li emulovat jiný prohlížeč, předejte -U možnost.
wget --user-agent="Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0" http://wget-forbidden.com/
Výše uvedený příkaz bude emulovat Firefox 60, který požaduje stránku z wget-forbidden.com
Stahování více souborů #
Pokud chcete stáhnout více souborů najednou, použijte -i následuje cesta k místnímu nebo externímu souboru obsahujícímu seznam adres URL ke stažení. Každá adresa URL musí být na samostatném řádku.
Následující příklad ukazuje, jak stáhnout soubory iso Arch Linux, Debian a Fedora pomocí adres URL uvedených v linux-distros.txt soubor:
wget -i linux-distros.txt linux-distros.txthttp://mirrors.edge.kernel.org/archlinux/iso/2018.06.01/archlinux-2018.06.01-x86_64.iso
https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-9.4.0-amd64-netinst.iso
https://download.fedoraproject.org/pub/fedora/linux/releases/28/Server/x86_64/iso/Fedora-Server-dvd-x86_64-28-1.1.iso
Pokud zadáte - jako název souboru budou adresy URL čteny ze standardního vstupu.
Stahování přes FTP #
Chcete-li stáhnout soubor ze serveru FTP chráněného heslem, zadejte uživatelské jméno a heslo, jak je uvedeno níže:
wget --ftp-user=FTP_USERNAME --ftp-password=FTP_PASSWORD ftp://ftp.example.com/filename.tar.gz Vytvoření zrcadla webu #
Chcete-li vytvořit zrcadlo webu pomocí wget , použijte -m volba. Tím se vytvoří úplná místní kopie webu sledováním a stahováním všech interních odkazů a zdrojů webu (JavaScript, CSS, obrázky).
wget -m https://example.com Pokud chcete stažený web použít pro místní procházení, budete muset příkazu výše předat několik dalších argumentů.
wget -m -k -p https://example.com
-k volba způsobí wget převést odkazy ve stažených dokumentech, aby byly vhodné pro místní prohlížení. -p volba řekne wget stáhnout všechny potřebné soubory pro zobrazení stránky HTML.
Přeskočení kontroly certifikátu #
Pokud chcete stáhnout soubor přes HTTPS z hostitele, který má neplatný certifikát SSL, použijte --no-check-certificate možnost:
wget --no-check-certificate https://domain-with-invalid-ss.com Stahování do standardního výstupu #
V následujícím příkladu wget bude tiše ( příznak -q ) stáhnout a odeslat nejnovější verzi WordPressu na stdout (příznak -O - ) a potrubím do tar utilita, která rozbalí archiv do /var/www adresář.
wget -q -O - "http://wordpress.org/latest.tar.gz" | tar -xzf - -C /var/www Závěr č.
Pomocí wget , můžete si stáhnout více souborů, obnovit částečné stahování, zrcadlit webové stránky a kombinovat možnosti Wget podle vašich potřeb.
Chcete-li se dozvědět více o Wget, navštivte GNU wget Manualpage.