wget to nieinteraktywny pobieracz plików z sieci. Podajesz mu adres, a on ściąga zawartość przez HTTP, HTTPS lub FTP — bez okna przeglądarki, bez klikania, wprost z terminala albo ze skryptu. Nadaje się do jednorazowego pobrania pliku, wznawiania przerwanych transferów, ściągania w tle przez SSH, a nawet do zassania całego drzewa strony rekurencyjnie. Jest praktycznie na każdym Linuksie i działa tam, gdzie przeglądarka nie ma czego szukać (crontab, serwer bez GUI, provisioning maszyny).
Składnia i najważniejsze opcje
Podstawowa forma jest banalna: wget [opcje] URL
-O plik— zapisuje pobraną treść pod wskazaną nazwą (wielkie „O”, nie zero).-O -wypluwa wynik na standardowe wyjście.-c— wznawia częściowo pobrany plik. Działa tylko, gdy serwer wspiera nagłówekRange(większość HTTP i FTP tak, ale nie wszystkie).-r— pobieranie rekurencyjne:wgetpodąża za linkami i ściąga całe drzewo. Domyślna głębokość to 5 poziomów.-P katalog— wskazuje katalog docelowy zamiast bieżącego.-b— puszcza pobieranie w tle; log ląduje wwget-log.--limit-rate=200k— ogranicza prędkość, żeby nie zapchać łącza.-e polecenie— wykonuje komendę wgetrc inline, np.-e use_proxy=offwyłącza proxy dla tego wywołania.-U "nazwa"— podmienia User-Agent, gdy serwer odrzuca domyślneWget/….
Przykłady użycia
wget https://example.com/plik.iso— zwykłe pobranie do bieżącego katalogu.wget -c https://example.com/duzy.iso— wznawia zerwane pobieranie tam, gdzie się urwało, zamiast zaczynać od zera.wget -O lista.html https://example.com/— zapisuje stronę pod własną nazwą, ignorując tę z URL-a.wget -r -l 2 -np https://example.com/docs/— ściągadocsrekurencyjnie na 2 poziomy, a-nppilnuje, żeby nie wyszedł do katalogu wyżej.wget -b --limit-rate=500k https://example.com/backup.tar.gz— pobiera w tle z ograniczoną prędkością; postęp śledzisz wwget-log.
Częste błędy i pułapki
Mylenie -O z -o: wielkie -O to plik wyjściowy z danymi, małe -o to plik logu. Pomyłka nadpisze Ci log danymi albo odwrotnie.
-c nie jest magiczne: jeśli serwer nie obsługuje Range, wget pobierze plik od nowa, a nie dokończy. Łączenie -c z -r jest ryzykowne — każdy plik traktuje jako „niedokończony” i potrafi narobić bałaganu.
Rekurencja bez hamulców: samo -r na dużej stronie potrafi ściągać godzinami i zejść na obce domeny. Dodawaj -l (głębokość) i -np, a do zewnętrznych domen świadomie -H.
Certyfikaty i proxy: przy problemach z HTTPS ludzie odruchowo sięgają po --no-check-certificate — to wyłącza weryfikację TLS, więc używaj tylko świadomie. Na maszynie za firmowym proxy przydaje się -e use_proxy=off, gdy chcesz je pominąć.
Powiązane komendy: curl (bardziej elastyczny do API i nietypowych żądań), aria2c (pobieranie wielowątkowe), scp i rsync (transfer między maszynami).