Krótka odpowiedź
tar (Tape Archive) to narzędzie wiersza poleceń w Linuksie i macOS, które łączy wiele plików i folderów w jedno archiwum (.tar), opcjonalnie kompresując je algorytmem gzip (.tar.gz), bzip2 (.tar.bz2) lub xz (.tar.xz). To odpowiednik ZIP-a w świecie Linuksa, będący standardem w administracji serwerów, wdrożeniach i backupie.
Najważniejsze komendy tar – pakowanie, rozpakowywanie, podgląd zawartości i zaawansowane opcje – z przykładami, które możesz skopiować bezpośrednio do terminala.
Spis treści
ToggleNajważniejsze flagi tar
| Flaga | Co robi | Mnemonik |
|---|---|---|
-c |
Create – utwórz archiwum | C = Create |
-x |
Extract – rozpakuj archiwum | X = eXtract |
-t |
List – pokaż zawartość bez rozpakowywania | T = Table of contents |
-z |
Kompresja gzip (.gz) | Z = gZip |
-j |
Kompresja bzip2 (.bz2) | J = bzip2 (umowne) |
-J |
Kompresja xz (.xz) | J (wielkie) = xz |
-v |
Verbose – wyświetl nazwy plików podczas operacji | V = Verbose |
-f |
File – nazwa pliku archiwum | F = File |
Flagi łączysz razem: -czvf = create + gzip + verbose + file1. W praktyce najwygodniej trzymać -f na końcu skrótu, bo zaraz po nim podajesz nazwę pliku archiwum.
Pakowanie – tworzenie archiwum
tar.gz (gzip – najczęstszy)
# Spakuj folder do tar.gz
tar -czvf archiwum.tar.gz folder/
# Spakuj wiele plików/folderów
tar -czvf backup.tar.gz plik1.txt plik2.txt folder1/ folder2/
# Spakuj bieżący katalog
tar -czvf backup.tar.gz .
Wynik: plik archiwum.tar.gz z kompresją gzip1. To najczęściej używany format w Linux – backupy, deployment, dystrybucja oprogramowania.
tar.bz2 (bzip2 – lepsza kompresja, wolniejsze)
tar -cjvf archiwum.tar.bz2 folder/
Bzip2 zwykle daje mniejsze pliki niż gzip, ale kompresuje wolniej. Używaj, gdy rozmiar jest ważniejszy niż czas (archiwizacja dużych plików na dysk).
tar.xz (xz – najlepsza kompresja, najwolniejsze)
tar -cJvf archiwum.tar.xz folder/
Xz zwykle daje najmniejsze pliki z trzech algorytmów, kosztem najdłuższego czasu kompresji. Używany do dystrybucji oprogramowania – np. jądro Linux jest dystrybuowane jako .tar.xz3.
Porównanie kompresji
| Algorytm | Rozszerzenie | Flaga tar | Kompresja | Szybkość | Kiedy używać |
|---|---|---|---|---|---|
| gzip | .tar.gz / .tgz | -z |
Dobra | Szybka | Domyślnie – backup, deploy, transfer |
| bzip2 | .tar.bz2 | -j |
Lepsza | Średnia | Archiwizacja (rozmiar > czas) |
| xz | .tar.xz | -J |
Najlepsza | Wolna | Dystrybucja oprogramowania |
| brak | .tar | (brak) | Brak | Natychmiastowa | Łączenie plików bez kompresji |
Rozpakowywanie – ekstrakcja archiwum
Rozpakuj tar.gz
tar -xzvf archiwum.tar.gz
Rozpakowuje do bieżącego katalogu. Jeśli archiwum zawiera folder wordpress/, po rozpakowaniu pojawi się ./wordpress/.
Rozpakuj do konkretnego katalogu
tar -xzvf archiwum.tar.gz -C /var/www/html/
-C zmienia katalog przed wykonaniem operacji1. Pliki wylądują w /var/www/html/ zamiast w bieżącym katalogu.
Rozpakuj tar.bz2
tar -xjvf archiwum.tar.bz2
Rozpakuj tar.xz
tar -xJvf archiwum.tar.xz
Rozpakuj bez znajomości kompresji (auto-detect)
tar -xvf archiwum.tar.gz
tar -xvf archiwum.tar.bz2
tar -xvf archiwum.tar.xz
Nowoczesne wersje tar (GNU tar od wersji 1.15) automatycznie wykrywają kompresję przy rozpakowywaniu – możesz pominąć -z/-j/-J i użyć samego -xvf. Tar sam rozpozna format po nagłówku pliku1.
Podgląd zawartości (bez rozpakowywania)
# Lista plików w archiwum
tar -tzvf archiwum.tar.gz
# Przykładowy output:
# drwxr-xr-x user/group 0 2026-04-20 12:00 wordpress/
# -rw-r--r-- user/group 405 2026-04-20 12:00 wordpress/index.php
# -rw-r--r-- user/group 3065 2026-04-20 12:00 wordpress/wp-config-sample.php
# ...
-t = list (table of contents). Pokazuje: uprawnienia, właściciel, rozmiar, datę, ścieżkę. Przydatne zanim rozpakujesz: sprawdzasz, czy archiwum zawiera to, czego oczekujesz.
Zaawansowane operacje
Rozpakuj tylko wybrane pliki
# Rozpakuj tylko wp-config.php z archiwum
tar -xzvf backup.tar.gz wordpress/wp-config.php
# Rozpakuj tylko pliki .sql
tar -xzvf backup.tar.gz --wildcards "*.sql"
Opcja --wildcards włącza dopasowywanie wzorców powłoki (*, ?, [...]) do nazw plików w archiwum1.
Wyklucz pliki/foldery podczas pakowania
# Spakuj wordpress/ ale bez wp-content/cache/
tar -czvf backup.tar.gz wordpress/ --exclude="wordpress/wp-content/cache"
# Wyklucz kilka folderów
tar -czvf backup.tar.gz wordpress/ \
--exclude="wordpress/wp-content/cache" \
--exclude="wordpress/wp-content/uploads/backups" \
--exclude="*.log"
Przydatne przy backupach: wykluczasz cache, logi i stare backupy, żeby archiwum było mniejsze.
Dodaj pliki do istniejącego archiwum (bez kompresji)
# Działa TYLKO z nieskompresowanym .tar (nie .tar.gz!)
tar -rvf archiwum.tar nowy_plik.txt
-r (append) dopisuje pliki na koniec archiwum. Nie działa z archiwami skompresowanymi gzip/bzip2/xz1 – skompresowane archiwa trzeba rozpakować, dodać plik i spakować ponownie.
Pokaż postęp (progress bar)
# Z pv (pipe viewer) – jeśli zainstalowany
tar -cf - folder/ | pv | gzip > archiwum.tar.gz
# Lub verbose (-v) – wyświetla każdy plik
tar -czvf archiwum.tar.gz folder/
Praktyczne scenariusze
1. Backup WordPressa na serwerze
cd /var/www
tar -czvf /backups/wordpress-$(date +%Y-%m-%d).tar.gz html/ \
--exclude="html/wp-content/cache" \
--exclude="html/wp-content/debug.log"
Tworzy: /backups/wordpress-2026-04-20.tar.gz. Z datą w nazwie + bez cache’a i logów.
2. Przeniesienie strony między serwerami
# Na starym serwerze:
tar -czvf site-backup.tar.gz /var/www/html/
# Przenieś na nowy (scp lub wget):
scp site-backup.tar.gz user@new-server:/var/www/
# Na nowym serwerze:
cd /var/www
tar -xzvf site-backup.tar.gz
Szybciej niż kopiowanie tysięcy plików przez FTP (jedno duże archiwum vs 10 000 małych plików). Komenda scp kopiuje pliki przez to samo połączenie co SSH, więc działa wszędzie tam, gdzie masz dostęp po SSH.
3. Pobranie i instalacja oprogramowania
# Pobierz
wget https://wordpress.org/latest.tar.gz
# Rozpakuj
tar -xzvf latest.tar.gz -C /var/www/html/
# Usuń archiwum
rm latest.tar.gz
tar na macOS
MacOS ma wbudowany tar (BSD tar, bsdtar) – działa podobnie jak GNU tar na Linux, z drobnymi różnicami:
--excludemusi być przed nazwą archiwum i innymi opcjami – bsdtar parsuje argumenty ściślej niż GNU tar, gdzie kolejność jest zwykle dowolna2- macOS tar może dodawać pliki
._(resource forks) – żeby tego uniknąć:COPYFILE_DISABLE=1 tar -czvf archiwum.tar.gz folder/2 - xz może nie być domyślnie zainstalowany –
brew install xz
tar vs zip – kiedy które
| Cecha | tar (.tar.gz) | zip |
|---|---|---|
| Platforma | Linux/macOS (natywne) | Windows (natywne), Linux (zainstaluj) |
| Uprawnienia plików | Zachowuje (chmod, owner) | Nie zachowuje |
| Symlinki | Zachowuje | Nie zachowuje |
| Kompresja | Cały archiwum naraz (lepsza ratio) | Każdy plik osobno |
| Ekstrakcja pojedynczego pliku | Wolna (musi przeczytać do pozycji) | Szybka (indeks na końcu) |
| Najczęstsze użycie | Serwery Linux, backup, deployment | Wysyłanie plików mailem, Windows |
Zasada: na serwerze Linux → tar.gz (zachowuje uprawnienia, symlinki). Wysyłasz komuś pliki (szczególnie na Windows) → zip. Przy okazji uprawnień: jeśli nie wiesz, jak je czytać i zmieniać, zobacz chmod – uprawnienia plików w Linux.
Najczęściej zadawane pytania
Co oznacza .tgz?
.tgz to skrót od .tar.gz – to ten sam format, tylko krótsza nazwa. Historycznie wiąże się to z ograniczeniem starych systemów (np. DOS) do trzech znaków rozszerzenia pliku, które nie mieściło pełnego .tar.gz.
Jak sprawdzić rozmiar archiwum przed rozpakowaniem?
ls -lh archiwum.tar.gz pokazuje rozmiar skompresowany. Przybliżony rozmiar po rozpakowaniu policzysz z listy plików: tar -tzvf archiwum.tar.gz | awk '{s+=$3} END {print s/1024/1024 " MB"}'.
Mogę rozpakować tar.gz na Windows?
Tak. 7-Zip obsługuje tar.gz (dwuetapowa ekstrakcja: .gz → .tar → pliki). Windows 11 (od wersji 23H2) obsługuje część formatów archiwów, w tym tar, natywnie w Eksploratorze plików. Można też zainstalować WSL i użyć komendy tar jak na Linux.
tar: Cannot open: Permission denied
Nie masz uprawnień do katalogu docelowego. Rozwiązanie: sudo tar -xzvf archiwum.tar.gz -C /var/www/ lub zmień katalog docelowy na taki, do którego masz dostęp.
Źródła
Zweryfikowano: wrzesień 2026Flagi i przykłady komend sprawdziliśmy w oficjalnej dokumentacji GNU tar i w man-page tar(1).
- GNU tar ManualDokumentacjaGNU Projectgnu.org
- tar(1) – Linux manual pageStandardman7.orgman7.org
- The Linux Kernel Archives – lista wydań źródełRejestrkernel.orgkernel.org






