wget(1)

JMÉNO
wget - nástroj k získávání souborů z World Wide Web

SYNTAXE
wget [možnosti] [seznam-URL]

UPOZORNĚNÍ
Informace uvedené v této manuálové stránce jsou výtažky z kompletní dokumentace k Wget. Je možné, že některé informace budou nepřesné. Aktuální informace naleznete na info stránkách, které můžete zobrazit pomocí Emacs info subsystému nebo samostatného informačního programu.

POPIS
Wget je nástroj, vytvořený k získávání binárních dokumentů z WWW za pomoci protokolů HTTP (Hyper Text Transfer Protocol) a FTP (File Transfer Protocol) a jejich ukládání na disk. Wget je neinteraktivní program, což znamená, že dovede pracovat na pozadí, i když není uživatel přihlášen (na rozdíl od většiny webových prohlížečů). Lze tedy spustit program, odhlásit se a počkat, až dodělá určenou práci. Program analyzuje odpovědi serveru, rozlišuje mezi správně nebo špatně získanými dokumenty a opakuje jejich stahování tolikrát, kolikrát je nutné nebo dokud není splněn uživatelem daný limit opakování. REST je použit v FTP pro počítače, které ho podporují. Podporovány jsou i Proxy servery pro zrychlení stahování a odlehčení provozu v síti.

Wget podporuje plně funkční rekurzivní mechanismus, kterým lze získávat velké části Webu a vytvářet místní kopie vzdálených adresářových struktur. Pochopitelně lze zadat maximální úroveň rekurze i dalších parametrů. Nekonečným rekurzivním smyčkám je vždy zabráněno díky přepočtu přijatých dat. Toto všechno platí pro HTTP a FTP.

Příjem dat je obyčejně zobrazován výpisem teček, každá tečka představuje jeden kilobyte přijatých dat. Vestavěné vlastnosti nabízí mechanismy k nastavení odkazů, které chcete následovat (srov. -L, -D a -H).

OBECNÉ ZÁSADY PRO URL

Je podporována většina konvencí popsaných v RFC1738. Podporovány jsou i dva alternativní zápisy, takže lze použít tři tvary zápisu: Normální URL (doporučený tvar):
http://host[:port]/path
http://fly.cc.fer.hr/
ftp://ftp.xemacs.org/pub/xemacs/xemacs-19.14.tar.gz
ftp://uživatel:heslo@host/adresář/soubor
FTP pouze (jako ncftp): hostname:/adresář/soubor
HTTP pouze (jako netscape):
hostname(:port)/adresář/soubor
Do URL lze zakódovat i uživatelské jméno a/nebo heslo takto:
ftp://uživatel:heslo@host/adresář/soubor
Pokud nerozumíte této syntaxi, tak použijte běžnou syntaxi s kterou byste volali lynx nebo netscape. Poznámka: alternativní zápisy jsou zastaralé a možná nebudou v budoucnu podporovány.

MOŽNOSTI

Zde je těch několik málo parametrů příkazové řádky pro wget. Pamatujte, že je nemusíte znát nebo je používat, dokud si nebudete přát změnit standardní chování programu. Pro jednoduché operace není třeba přidávat žádné parametry. Je také dobrým nápadem uložit často používané příkazy s parametry do .wgetrc, kde mohou být přehledněji uloženy.

Toto je úplný seznam parametrů s popisem, řazený sestupně podle důležitosti:

-h --help
    Vypíše nápovědu. Nápovědu získáte také pokud nezadáte žádný parametr s argumentem.

-V --version
    Zobrazí se verze wget.

-v --verbose
    Upovídaný výstup, se všemi dostupnými daty. Standardní výstup se skládá pouze z ukazatele stavu ukládání a chybových hlášení. Když je použit běžný výstup, upovídanost je standardně nastavena.

-q --quiet
    Tichý režim, žádný výstup.

-d --debug
    Ladící výstup, bude pracovat pouze když byl wget zkompilován s -DDEBUG. Všimněte si, že když je program zkompilovaný s ladícím výstupem, není vypisován, dokud nezadáte parametr -d.

-i soubor --input-file=soubor
    Čte URL z přímo ze souboru, není třeba zadávat žádná URL z příkazové řádky. Pokud jsou zadána URL z příkazové řádky i ze souboru, provede se nejdříve stažení souboru zadaného z příkazové řádky. Soubor nemusí být dokument typu HTML (nic se nestane, když je) - to dostačuje jestli jsou URL uvedena následně. Nicméně, když určíte --force-html, na dokument se bude pohlížet jako na HTML. V tomto případě můžou nastat problémy s relativními odkazy, což lze vyřešit buď přidáním <base href="url"> do dokumentu nebo blíže určit --base=url v příkazové řádce.

-o logsoubor --output-file=logsoubor
    Zprávy o průběhu stahování do logsoubor, namísto standardního výstupu. Upovídaný výstup je nyní zapisován do souboru. Pokud si toto nepřejete, použijte -nv (neupovídaný).

-a logsoubor --append-output=logsoubor
    Připojení do souboru. Stejné jako -o, ale připojí nové zprávy k souboru (nebo vytvoří nový, když starý neexistuje) namísto přepsání starého souboru.

-t číslo --tries=číslo
    Nastavení počtu opakování na číslo. Zadejte 0 pro nekonečné opakování.

--follow-ftp
    Následování FTP odkazů z HTML dokumentu.

-c --continue-ftp
    Pokračování v příjmu FTP dokumentu, pokud se spojení přerušilo. Když zadáte "wget -c ftp://sunsite.doc.ic.ac.uk/ls-lR.Z", a v současném adresáři je soubor pojmenovaný stejně ls-lR.Z, wget pokračuje v příjmu podle offsetu rovnému délce existujícího souboru. Všimněte si, že není třeba zadávat tento parametr, pokud ho nezadáte a přeruší se spojení, wget pokračuje standardně ve stahování tam, kde se spojení přerušilo. Tento parametr je užitečný hlavně, když chcete pokračovat ve stahování částečně stažených dat, uložených jiným FTP softwarem, nebo když byl wget ukončen během stahování.

-g on/off --glob=on/off
    Zapíná a vypíná používání speciálních znaků pro výběr souborů. Standardně se tato funkce zapíná, když URL obsahuje speciální znaky (např. hvězdičku). Speciální znaky (tzv. žolíky) se mohou použít ke stažení více souborů ze stejného adresáře najednou, např. wget ftp://gnjilux.cc.fer.hr/*.msg. Používání speciálních znaků funguje pouze na UNIX FTP serverech.

-e příkaz --execute=příkaz
    Spustí se příkaz, jako kdyby to byla část souboru .wgetrc. Příkaz vyvolaný touto cestou bude mít přednost před stejným příkazem z .wgetrc, pokud tam nějaký stejný je.

-N --timestamping
    Použití tak zvaného časového označení určuje zda znovu stáhnout soubor. Je-li poslední datum změny vzdáleného souboru roven nebo starší než místní soubor a velikosti jsou rovny, vzdálený soubor nebude stahován. Tato možnost je užitečná pro týdenní mirroring HTTP nebo FTP míst, od té doby nebude povoleno stahování stejného souboru dvakrát.

-F --force-html
    Když je použit vstup ze souboru, může to být HTML. Tato možnost povolí získání relativních odkazů z existujících HTML souborů na vašem pevném disku, přidáním <base href> do HTML nebo použitím --base.

-B base_href --base=base_href
    Použití base_href jako základního odkazu, jako kdyby byl k souboru ve tvaru <base href="base_href">. Použití základního odkazu má přednost před odkazem v příkazové řádce.

-r --recursive
    Rekurzivní stahování webu. Podle protokolu z URL může dělat dvě věci. Rekurzivní příjem z HTTP URL znamená, že Wget bude stahovat dané URL, rozebere ho jako HTML dokument (pokud to je HTML dokument a získá soubory, na které odkazuje do určené hloubky (standardně 5; změnit lze parametrem -l). Wget vytvoří strukturu adresářů na místním disku, která bude plně odpovídat struktuře na HTTP serveru. Tato možnost je ideální k prezentacím, kde lze takto obejít pomalé připojení. Výsledky budou zvláště dobré, pokud byly používány relativní odkazy, protože stránky budou fungovat na novém místě bez změny. Když se tato možnost použije s FTP URL, bude získávat všechna data z daného adresáře a podadresářů, podobně jako u rekurzivního příjmu z HTTP. Upozornění: Použití této možnosti může způsobit vážné přetížení vašeho připojení. Zatížení lze minimalizovat snížením počtu maximální rekurze (viz -l) a/nebo snížením počtu opakování připojení (viz -t).

-m --mirror
    Zapnout mirroring. Nastaví rekurzi a časové označení kombinací -r a -N.

-l hloubka --level=hloubka
    Nastavit hloubku rekurze na určitou hodnotu. Standardně je nastavena na 5. Po překročení dané hloubky bude stahování pokračovat od základu. Tedy zadání -r -l1 bude rovno získávání souboru bez rekurze. Nastavení hloubky stahování na nulu způsobí, že hloubka rekurze bude (teoreticky) neomezená. Uvědomte si, že se počet získaných dokumentů se exponenciálně zvyšuje s výší hloubky rekurze.

-H --span-hosts
    Povolit spanning přes hostitele při rekurzivním stahování. Podívejte se na -r a -D. Odkazuji na NÁSLEDOVANÉ ODKAZY pro přesnější popis.

-L --relative
    Následovat pouze relativní odkazy. Užitečné k získávání specifických domácích stránek bez rozptylování, ani u těch ze stejného hostitele. Odkazuji na NÁSLEDOVANÉ ODKAZY pro přesnější popis.

-D seznam domén --domains=seznam domén
    Nastavení přípustných domén a DNS, kde seznam domén je seznam oddělený čárkami. Nelze zapnout pomocí -H. Toto vše urychlí, dokonce i když je pouze jeden hostitel trvalý. Odkazuji na NÁSLEDOVANÉ ODKAZY pro přesnější popis.

-A povolené přípony / -R zakázané přípony --accept=povolené přípony / --reject=zakázané přípony
    Čárkami oddělený seznam povolených/zakázaných přípon. Například, když si přejete stáhnout pouze soubory GIF a JPEG, použijete -A gif,jpg,jpeg. Když si přejete stáhnout vše kromě neskladných souborů MPEG a .AU, použijete -R mpg,mpeg,au.

-X seznam --exclude-directories seznam
    Čárkami oddělený seznam vyřazených adresářů z FTP.

-P prefix --directory-prefix=prefix
    Nastavení adresáře prefix (standardně ".") na prefix. Adresář prefix je adresář, kde jsou uloženy všechny ostatní soubory a podadresáře.

-T hodnota --timeout=hodnota
    Nastavení časového limitu při čtení na určitou hodnotu. Kdykoli se provádí čtení, deskriptor souboru kontroluje možné překročení časového limitu, který by jinak mohl způsobit ukončení spojení (nepřerušované čtení). Standardně je časový limit 900 sekund (patnáct minut).

-Y on/off --proxy=on/off
    Zapínání proxy. Proxy je standardně zapnuto, když je definována vhodná vnější proměnná.

-Q quóta[KM] --quota=quóta[KM]
    Upřesnění quóty pro stahování, v bytech (standardně), kilobytech nebo megabytech. Více užitečné pro soubor rc. Viz níže.

-O soubor --output-document=soubor
    Dokumenty nebudou zapisovány do příslušných souborů, ale všechny budou připojeny do jediného souboru se jménem, určeným v parametru. Počet opakování stahování bude nastaven na 1. Když je jméno souboru `-', dokumenty budou zapisovány na standardní výstup, a --quiet bude zapnut. Používejte tuto možnost opatrně, od té doby kdy toto vypnete, mohou všechny diagnostiky Wgetu vypisovat všemožné chyby.

-S --server-response
    Vypíše hlavičky odeslané HTTP serverem a/nebo odpovědi odeslané FTP serverem FTP.

-s --save-headers
    Uloží hlavičky odeslané HTTP serverem do souboru před skutečný obsah.

--header=přídavná hlavička
    Definice přídavné hlavičky. Lze definovat více přídavných hlaviček. Nesnažte se ukončovat hlavičku pomocí CR nebo LF.

--http-uživatel --http-heslo
    Tyto dvě možnosti použijte k nastavení uživatelského jména a hesla, které Wget pošle na HTTP server. Wget podporuje pouze základní WWW ověřovací schéma.

-nc Nepřepisovat existující soubory při ukládání do adresářové struktury při rekurzivním příjmu několika souborů. Tato možnost je velmi užitečná, pokud je třeba pokračovat tam, kde se přerušil příjem. Když jsou to .html nebo .htm soubory, budou nahrány z disku a zkontrolovány, pokud byly přijaty z Webu.

-nv Vypnutí upovídanosti bez kompletního umlčení (pro toto lze použít -q),
     což znamená, že jsou vypisovány pouze chybová hlášení a základní informace.

-nd Nevytvářet adresářovou strukturu při rekurzivním příjmu dat. Při zapnutí této možnosti budou všechny soubory ukládány do současného adresáře, bez přepisování (pokud bude více souborů se stejným názvem, budou mít příponu .n).

-x  Opak -nd -- Vytváření adresářové struktury vždy, pokud nebude uvedeno jinak.

-nh Zákaz zdržujícího vyhledávání DNS téměř všech hostitelů. Odkazuji na NÁSLEDOVANÉ ODKAZY pro přesnější popis.

-nH Zákaz adresářů dle hostitele. Standardně, http://fly.cc.fer.hr/ vytvoří adresář pojmenovaný fly.cc.fer.hr. Tento parametr vypne takový režim.

--no-parent
    Nepostupovat do vyšších adresářů.

-k --convert-links
    Konvertovat absolutní adresaci na relativní (pro lokální umístění).

NÁSLEDOVANÉ ODKAZY
Rekurzivní stahování obsahuje mechanismy, které dovolují určit jaké odkazy bude wget následovat.

Pouze relativní odkazy
    Pokud budou následovány pouze relativní odkazy (parametr -L), rekurzivní příjem nebude nikdy zatěžovat hostitele. nebude nikdy volán a proces bude velmi rychlý s minimální zátěží sítě. Toto bude často vyhovovat vašim potřebám, zvláště při mirroringu výstupu z *2html konvertorů, které zpravidla vytváří pouze relativní odkazy.

Kontrola hostitele
    Nevýhodou následování pouze relativních odkazů je to, že je lidé často míchají s absolutními odkazy na stejném hostiteli a stejné stránce. V tomto módu (nastaven standardně) budou všechna URL, která odkazují na stejné hostitele znovu získána. Problémem při využití této možnosti jsou aliasy hostitelů a domén. Zde tedy není jiná možnost aby wget věděl, že regoc.srce.hr a www.srce.hr jsou stejní hostitelé, nebo že fly.cc.fer.hr je stejné jako s fly.cc.etf.hr. Kdykoliv se narazí na absolutní odkaz, gethostbyname je vyvolána kontrola, zdali jsme skutečně na stejném hostiteli. Ačkoliv výsledky z gethostbyname jsou rozházeny, tak nebude nikdy zavolán dvakrát pro stejného hostitele, stále se mohou vyskytnout nepříjemnosti např. ve velkých indexech odlišných hostitelů, když každý z nich má být prohledán. Můžete použít -nh pro prevenci jako celkovou kontrolu a poté bude wget porovnávat jména hostitelů. Vše bude běžet rychleji, ale také méně spolehlivě.

Povolené domény
    S parametrem -D lze určit domény, které budou následovány. Zajímavou věcí na této možnosti je, že hostitelé, kteří nejsou z této domény, nebudou vyhledány v DNS. Tak lze určit -Dmit.edu, je třeba se ujistit, že není nic mimo .mit.edu . Toto je velmi důležité a užitečné. Také to znamená, že -D neodpovídá -H (musí být výslovně zadán). Neomezujte se při využívání této možnosti, dokud bude vše velmi urychlovat, s téměř vší spolehlivostí kontroly všech hostitelů. Samozřejmě, povolení domén může být použito k omezení příjmu z jednotlivých domén, ale také volně trvajících hostitelů uvnitř domén, ale to se musí výslovně určit -H.

Všichni hostitelé
    Pokud je dáno -H bez -D, všichni hostitelé budou povoleni. To je užitečné při nastavení hloubky rekurze na malou hodnotu v těchto případech. Tato možnost je zřídka používána.

FTP Pravidla pro FTP jsou poněkud odlišná, než mají být. K následování FTP odkazů z HTML dokumentů, musíte zadat parametr -f (follow_ftp). Jestli ho zadáte, FTP odkazy budou schopny přepínat hostitele i když nebude nastaven span_hosts. Možnost relative_only (-L) nebude mít efekt na FTP. Nicméně, povolení domén (-D) a příponová pravidla (-A/-R) budou stále použita.

VSTUPNÍ SOUBOR
Wget podporuje používání inicializačního souboru .wgetrc. Nejdříve se systém podívá po inicializačním souboru (standardně /usr/local/lib/wgetrc) a nahraje ho. Potom se vyhledá uživatelský soubor na dvou místech: v proměnných prostředí WGETRC (která je předurčena k udržování celé cesty) a $HOME/.wgetrc. Nastavení uživatelského startovního souboru může potlačit systémové nastavení, které obsahuje nastavení kvóty (he he).

Skladba každého řádku ve startovním souboru je jednoduchá:

    proměnná = hodnota

Platné hodnoty jsou různé pro různé proměnné. Kompletní sada příkazů je popsána výše, písmeno po znaménku rovno označuje hodnotu příkazu. To je on/off pro zapnutí nebo vypnutí (může být také 1 nebo 0), string pro jakýkoliv řetězec nebo N pro kladné celé číslo. Například, můžete určit "use_proxy = off" k zakázání použití proxy serverů, daných standardně. Můžete použít inf pro nekonečnou hodnotu (funkce z 0 na příkazovém řádku), kde to je vhodné. Příkazy jsou citlivé na velikost písmen a lhostejné k podtrhávání, takže DIr__Prefix je stejné jako dirprefix. Prázdné řádky, řádky obsahující mezery nebo řádky začínající '#' jsou přeskočeny. Většina příkazů má vlastní ekvivalent v parametru z příkazové řádky, kromě několika nezřetelných nebo zřídka používaných. Vzorový vstupní soubor je poskytnut v distribuci, pojmenován je sample.wgetrc.

accept/reject = string
    Stejné jako -A/-R.

add_hostdir = on/off
    Povolí/zakáže host-prefixed jména hostitelů. -nH je zakáže.

always_rest = on/off
    Povolí/zakáže pokračování v příjmu, stejné jako -c.

base = string
    Nastaví základ pro relativní URL, stejné jako -B.

convert links = on/off
    Konvertuje nerelativní odkazy na lokální. Stejné jako -k.

debug = on/off
    Ladící mód, stejné jako -d.

dir_mode = N
    Nastaví přístupová práva vytvořených podadresářů (standardně 755).

dir_prefix = string
    Vršek adresářového stromu, stejné jako -P.

dirstruct = on/off
    Zapíná/vypíná adresářovou strukturu, stejné jako -x nebo -nd, dle pořadí.

domains = string
    Stejné jako -D.

follow_ftp = on/off
    Následovat FTP odkazy z HTML dokumentů, stejné jako -f.

force_html = on/off
    Pokud je zapnuto, vstupní soubor je v HTML dokumentu, stejné jako -F.

ftp_proxy = string
    Použije řetězec jako FTP proxy, namísto toho určeného v prostředí.

glob = on/off
    Zapíná/vypíná používání žolíků, stejné jako -g.

header = string
    Definuje další hlavičku jako --header.

http_passwd = string
    Nastaví HTTP heslo.

http_proxy = string
    Použije řetězec jako HTTP proxy, namísto toho určeného v prostředí.

http_user = string
    Nastaví HTTP uživatele.

input = string
    Čte URL ze souboru jako -i.

kill_longer = on/off
    Zvažuje data delší než určená v hlavičce jako neplatná (a opakuje stahování). Standardní chování je uložit tolik dat kolik jich je, poskytnutí je zde více než rovnost hodnotě z hlavičky.

logfile = string
    Nastaví logsoubor, stejné jako -o.

login = string
    Vaše uživatelské jméno na vzdáleném počítači, pro FTP. Standardně nastaveno jako "anonymous".

mirror = on/off
    Zapíná/vypíná mirroring. Stejné jako -m.

noclobber = on/off
    Stejné jako -nc.

no_parent = on/off
    Stejné jako --no-parent.

no_proxy = string
    Použít řetězec jako čárkou oddělený seznam domén, překryje seznam umístěný v proměnných prostředí.

num_tries = N
    Nastavení počtu opakování na URL, stejné jako -t.

output_document = string
    Nastavení výstupních souboru, stejné jako -O.

passwd = string
    Vaše heslo na vzdáleném počítači pro FTP. Standardně je to uživatel@hostitel.doména.

quiet = on/off
    Tichý mód, stejné jako -q.

quota = quota
    Určení kvóty ke stahování, která je užitečná ke vložení do /usr/local/lib/wgetrc. Když je kvóta nastavena, wget zastaví stahování po stažení daného množství dat. Kvóta může být určena v bytech (standardně),
     kbytech ('k' připojeno) nebo mbytech ('m' připojeno). Takže "quota = 5m" nastaví kvótu na 5 mbytů. Uživatelský startovní soubor potlačí systémové nastavení.

reclevel = N
    Hloubka rekurze, stejné jako -l.

recursive = on/off
    Zapnout/vypnout rekurzivní stahování, stejné jako -r.

relative_only = on/off
    Následovat pouze relativní odkazy (stejné jako -L). Odkazuji na NÁSLEDOVANÉ ODKAZY pro podrobnější popis.

robots = on/off
    Použít (nebo nepoužít) soubor robots.txt.

server_response = on/off
    Výběr, zda tisknout odpovědi HTTP a FTP serverů, stejné jako -S.

simple_host_check = on/off
    Stejné jako -nh.

span_hosts = on/off
    Stejné jako -H.

timeout = N
    Nastavení prodlevy, stejné jako -T.

timestamping = on/off
    Zapnout/vypnout časové označení. Stejné jako -N.

use_proxy = on/off
    Zapnout/vypnout podporu proxy. Stejné jako -Y.

verbose = on/off
    Zapnout/vypnout upovídanost, stejné jako -v/-nv.

SIGNÁLY

Wget bude zachytávat SIGHUP (ukončení) a ignorovat je. Jestliže je výstup na standardní výstup, bude přesměrován na soubor pojmenovaný wget-log. To je také vhodné, když si přejete interaktivně přesměrovat výstup Wgetu.
$ wget http://www.ifi.uio.no/~larsi/gnus.tar.gz &
$ kill -HUP %%       # k přesměrování výstupu
Wget se nebude pokoušet ovládat žádné signály, kromě SIGHUP. Takhle můžete přerušit Wget stiskem ^C nebo SIGTERMEM.

PŘÍKLADY
Stažení URL http://fly.cc.fer.hr/:
wget http://fly.cc.fer.hr/
Použití neupovídaného výstupu:
wget -nv http://fly.cc.fer.hr/
Neomezený počet pokusů o stažení:
wget -t0 http://www.yahoo.com/
Vytvoření mirroru (se stejnou adresářovou strukturou jako má originál),
s omezením hloubky rekurze na šest, s jedním pokusem o stažení na jeden dokument,
ukládání upovídaného výstupu do logsouboru 'log':
wget -r -l6 -t1 -o log http://fly.cc.fer.hr/
Stažení pouze z Yahoo (hloubka 50):
wget -r -l50 http://www.yahoo.com/

PROMĚNNÉ PROSTŘEDÍ
http_proxy, ftp_proxy, no_proxy, WGETRC, HOME

SOUBORY
/usr/local/lib/wgetrc, $HOME/.wgetrc

OMEZENÍ

Wget je bezplatný; kdokoliv může šířit kopie programu Wget každému pod podmínkami uvedenými v General Public License, kopie které doprovází každou kopii Wget.

VIZ TAKÉ
lynx(1), ftp(1)

AUTOR

Hrvoje Niksic <hniksic@srce.hr> je autorem Wgetu. Díky beta testerům a všem ostatním lidem, kteří pomohli s užitečnými návrhy.

PŘEKLAD
Martin Kačena (martin.kacena@pslib.cz).