Komenda tar w Linux — jak pakować i rozpakowywać archiwa tar.gz, tar.bz2 i tar.xz

Komenda tar w Linux — jak pakować i rozpakowywać archiwa tar.gz, tar.bz2 i tar.xz
tar to standardowe narzędzie Linux do tworzenia archiwów — łączy pliki w jedno i kompresuje (gzip, bzip2, xz). Pokazuję najważniejsze komendy: pakowanie, rozpakowywanie, podgląd zawartości i ekstrakcja wybranych plików.

tar (Tape Archive) to narzędzie wiersza poleceń w Linux i macOS, które łączy wiele plików i folderów w jeden plik archiwum (.tar), opcjonalnie kompresując go algorytmem gzip (.tar.gz), bzip2 (.tar.bz2) lub xz (.tar.xz). To odpowiednik ZIP w świecie Linux — z tą różnicą, że tar jest standardem w administracji serwerów, deployment i backup.

W tym poradniku pokazuję 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.

Najważ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 (ZAWSZE ostatnia!) F = File

Flagi łączysz razem: -czvf = create + gzip + verbose + file. Kolejność nie ma znaczenia, ale -f musi być ostatnia (bo po niej idzie nazwa pliku).

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ą gzip. 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 daje mniejsze pliki niż gzip (o 10–20%), ale jest 2–3x wolniejszy. 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 daje najmniejsze pliki z trzech algorytmów, ale jest najwolniejszy. Używany do dystrybucji oprogramowania (np. kernel Linux jest dystrybuowany jako .tar.xz).

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 = zmień katalog docelowy. 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 automatycznie wykrywają kompresję — możesz pominąć -z/-j/-J i użyć samego -xvf. tar sam rozpozna format.

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"

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. Nie działa z gzip/bzip2/xz — 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).

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) — działa tak samo jak GNU tar na Linux, z drobnymi różnicami:

  • --exclude musi być przed nazwą archiwum (na Linux kolejność dowolna)
  • macOS tar może dodawać pliki ._ (resource forks) — żeby tego uniknąć: COPYFILE_DISABLE=1 tar -czvf archiwum.tar.gz folder/
  • 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.

Najczęściej zadawane pytania

Co oznacza .tgz?

.tgz = .tar.gz — to samo, krótsza nazwa. Historycznie: systemy z limitem 3 znaków rozszerzenia (DOS) nie mogły mieć .tar.gz, więc powstało .tgz.

Jak sprawdzić rozmiar archiwum przed rozpakowaniem?

ls -lh archiwum.tar.gz           # rozmiar skompresowany
tar -tzvf archiwum.tar.gz | awk '{s+=$3} END {print s/1024/1024 " MB"}'  # rozmiar po rozpakowaniu (przybliżony)

Mogę rozpakować tar.gz na Windows?

Tak — 7-Zip obsługuje tar.gz (dwukrotna ekstrakcja: .gz → .tar → pliki). Windows 11 (23H2+) obsługuje tar natywnie w Eksploratorze. Lub: zainstaluj WSL i użyj 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.

Podsumowanie

tar to standardowe narzędzie archiwizacji w Linux. Najważniejsze komendy: tar -czvf archiwum.tar.gz folder/ (spakuj), tar -xzvf archiwum.tar.gz (rozpakuj), tar -tzvf archiwum.tar.gz (podgląd). Kompresja: -z = gzip (domyślne, szybkie), -j = bzip2 (lepsze, wolniejsze), -J = xz (najlepsze, najwolniejsze). Dla backupów i deploymentu WordPress na serwerze: tar.gz jest standardem — zachowuje uprawnienia, symlinki i jest szybsze niż ZIP przy wielu plikach.

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