wget (Web Get) to narzędzie wiersza poleceń do pobierania plików z internetu — stron HTML, obrazków, PDF-ów, archiwów ZIP, całych katalogów i nawet kompletnych witryn. Jest zainstalowany domyślnie na większości systemów Linux, dostępny na macOS (przez Homebrew) i Windows (przez instalator lub WSL).
Jeżeli cURL jest „przeglądarką w terminalu” (wysyłanie żądań, testowanie API), to wget jest „downloaderem w terminalu” — zoptymalizowanym pod pobieranie plików, rekursywne ściąganie stron i wznawiane przerwanego downloadu.
Spis treści
ToggleInstalacja wget
Linux
Zainstalowany domyślnie na większości dystrybucji. Jeśli nie: sudo apt install wget (Ubuntu/Debian) lub sudo yum install wget (CentOS/RHEL).
macOS
Nie zainstalowany domyślnie. Instalacja przez Homebrew: brew install wget.
Windows
Opcje: (1) WSL (Windows Subsystem for Linux) — zainstaluj Ubuntu w WSL, wget jest domyślnie. (2) Pobierz natywny wget z eternallybored.org/misc/wget i dodaj do PATH. (3) Użyj cURL zamiast wget (wbudowany w Windows 10+).
Podstawowe komendy wget
Pobierz jeden plik
wget https://example.com/plik.zip
Pobiera plik.zip do bieżącego katalogu. Wyświetla pasek postępu z prędkością, rozmiarem i ETA. Najprostsze użycie wget.
Pobierz i zapisz pod inną nazwą
wget -O backup-2026-04-20.sql.gz https://example.com/latest-backup.sql.gz
-O (output) = zapisz pod podaną nazwą zamiast oryginalnej.
Pobierz do konkretnego folderu
wget -P /home/user/downloads/ https://example.com/plik.zip
-P (prefix) = katalog docelowy.
Wznów przerwane pobieranie
wget -c https://example.com/duzy-plik-5gb.iso
-c (continue) = wznów od miejsca, w którym przerwano. Jeśli połączenie się zerwało na 2.3 GB z 5 GB, wget pobierze brakujące 2.7 GB. Bezcenne przy dużych plikach na niestabilnym łączu.
Pobieranie w tle
wget -b https://example.com/duzy-plik.iso
-b (background) = wget odłącza się od terminala i pobiera w tle. Logi zapisuje do wget-log. Sprawdź postęp: tail -f wget-log. Idealne na serwerze (pobierasz plik, zamykasz SSH, wget dalej ściąga).
Pobierz wiele plików z listy
# Utwórz plik urls.txt z listą URL-ów (jeden per linia):
# https://example.com/plik1.zip
# https://example.com/plik2.zip
# https://example.com/plik3.zip
wget -i urls.txt
-i (input file) = pobierz wszystkie URL-e z pliku. Przydatne do batch downloading.
Zaawansowane użycie
Rekursywne pobranie strony (mirror)
wget --mirror --convert-links --page-requisites --no-parent https://example.com/docs/
Pobiera całą strukturę strony — HTML, CSS, JS, obrazki — i konwertuje linki na lokalne, żebyś mógł przeglądać offline. Opcje:
--mirror= rekursywne pobieranie z timestampami (jak rsync)--convert-links= zamień URL-e w HTML na ścieżki lokalne--page-requisites= pobierz CSS, JS, obrazki potrzebne do wyświetlenia--no-parent= nie wychodź ponad podany katalog (nie ściągaj całej domeny)
Zastosowanie: backup strony, czytanie dokumentacji offline, archiwizacja witryny przed migracją.
Ograniczenie prędkości
wget --limit-rate=500k https://example.com/duzy-plik.iso
--limit-rate = max prędkość pobierania. 500k = 500 KB/s. Żeby nie zapchać łącza (szczególnie na współdzielonych serwerach).
Pobieranie z autentykacją HTTP
wget --user=login --password=haslo https://example.com/protected/file.zip
Lub bezpieczniej (hasło nie widoczne w historii bash):
wget --user=login --ask-password https://example.com/protected/file.zip
Pobierz tylko jeśli plik jest nowszy
wget -N https://example.com/plik.zip
-N (timestamping) = pobierz tylko jeśli zdalny plik jest nowszy niż lokalny. Idealne do skryptów synchronizujących — uruchamiasz codziennie, pobiera tylko zmienione pliki.
Ignoruj błędy certyfikatu SSL
wget --no-check-certificate https://example.com/plik.zip
Gdy serwer ma wygasły/self-signed certyfikat. Nie używaj na produkcji — to wyłącza weryfikację i otwiera na ataki MITM. Tylko do testów.
wget vs cURL — kiedy które
| Cecha | wget | cURL |
|---|---|---|
| Najlepsze do | Pobieranie plików | Testowanie API, nagłówki HTTP |
| Rekursywne pobieranie | Tak (–mirror) | Nie |
| Wznawianie pobierania | Tak (-c) | Tak (-C -) |
| Pobieranie w tle | Tak (-b) | Nie (musisz nohup/screen) |
| Wysyłanie POST/PUT | Ograniczone | Pełne (-X POST -d) |
| Protokoły | HTTP, HTTPS, FTP | HTTP, HTTPS, FTP, SMTP, IMAP + 20 innych |
| Domyślnie w systemie | Linux (nie macOS/Windows) | Linux, macOS, Windows 10+ |
Zasada: pobierasz pliki → wget. Testujesz API / sprawdzasz nagłówki → cURL. Oba mają swoje nisze.
Praktyczne scenariusze
1. Pobierz backup bazy na serwer
# Na serwerze produkcyjnym:
wget -O /backups/db-2026-04-20.sql.gz https://backup-storage.com/latest.sql.gz
Szybciej niż: pobrać na laptop → wgrać przez FTP na serwer. wget pobiera bezpośrednio serwer → serwer.
2. Pobierz najnowszego WordPressa na serwer
cd /var/www/html
wget https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz
rm latest.tar.gz
3 komendy = świeży WordPress na serwerze. Szybciej niż FTP.
3. Archiwizacja całej strony przed migracją
wget --mirror --convert-links --page-requisites --no-parent -P /backup/ https://staradomena.pl/
Pobiera całą stronę z obrazkami, CSS, JS. Otwierasz /backup/staradomena.pl/index.html w przeglądarce → strona wygląda jak online, ale jest lokalna.
4. Skrypt codziennego pobierania raportu
#!/bin/bash
# cron: 0 6 * * * /home/user/download-report.sh
wget -q -O /reports/daily-$(date +%Y-%m-%d).csv https://api.example.com/report/daily
-q = quiet (bez output, bo to cron — nikt nie patrzy). -O z datą = osobny plik per dzień.
Najczęściej zadawane pytania
Czy wget jest bezpieczny?
Sam wget jest bezpieczny — to standardowe narzędzie w każdej dystrybucji Linux. Nie uruchamiaj wget z nieznanych URL-i (mogą zawierać malware). I nie używaj --no-check-certificate na produkcji.
Czy mogę pobierać z YouTube wgeta?
Nie bezpośrednio — YouTube serwuje wideo przez streaming (nie jako proste pliki do pobrania). Do YouTube: użyj yt-dlp (następca youtube-dl) — dedykowane narzędzie do pobierania wideo.
Jak przerwać wget?
Ctrl+C — przerywa pobieranie. Jeśli chcesz wznowić później: wget -c URL.
wget pobiera stronę HTML zamiast pliku — dlaczego?
Serwer zwraca stronę HTML (np. redirect, formularz logowania) zamiast pliku. Sprawdź URL — może wymaga autentykacji lub jest redirectem. Użyj wget -S URL (pokaż nagłówki odpowiedzi), żeby zobaczyć co serwer zwraca.
Podsumowanie
wget to „downloader w terminalu” — zoptymalizowany do pobierania plików, wznawiania przerwanego transferu, rekursywnego ściągania stron i batch downloadingu. Najczęstsze komendy: wget URL (pobierz), wget -c URL (wznów), wget --mirror URL (ściągnij stronę), wget -b URL (w tle). Do testowania API i nagłówków: cURL. Do pobierania: wget. Oba razem = pełne narzędzia sieciowe w terminalu.






