wget — co to jest i jak pobierać pliki z terminala (Linux, Mac, Windows)

wget — co to jest i jak pobierać pliki z terminala (Linux, Mac, Windows)
wget to narzędzie wiersza poleceń do pobierania plików z internetu — stron, obrazków, archiwów, całych witryn. Pokazuję jak go użyć na Linux, macOS i Windows z najczęstszymi komendami i przykładami.

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.

Instalacja 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.

Picture of Tomasz Zieliński
Tomasz Zieliński

Tomasz zajmuje się tematyką SEO, sztucznej inteligencji i automatyzacji pracy w marketingu internetowym. W swoich artykułach analizuje zmiany w algorytmach wyszukiwarek, rozwój narzędzi AI oraz nowe sposoby tworzenia i optymalizacji treści. Interesuje go przede wszystkim to, jak technologia wpływa na codzienną pracę specjalistów SEO, marketerów i twórców internetowych.

Facebook
Twitter
LinkedIn
Pinterest

Najnowsze Wpisy

Śledź nas