gunzip

Dekompresuje pliki skompresowane przez gzip (.gz).

gunzip to narzędzie do dekompresji plików spakowanych wcześniej przez gzip — tych z rozszerzeniem .gz. W praktyce spotkasz je na każdym kroku: logi serwera (access.log.1.gz), zrzuty baz danych, archiwa pobrane z internetu czy pliki cache. Domyślnie gunzip rozpakowuje plik, odtwarza oryginalną nazwę bez końcówki .gz i — co ważne — kasuje plik wejściowy. To w gruncie rzeczy alias na gzip -d, więc jeśli znasz jedno, znasz oba.

Składnia i najważniejsze opcje

Podstawowe wywołanie wygląda tak: gunzip [OPCJE] PLIK.gz

  • -k (--keep) — zachowuje plik wejściowy .gz zamiast go usuwać po rozpakowaniu.
  • -c (--stdout) — wypisuje wynik na standardowe wyjście, nie tykając plików na dysku (idealne do potoków).
  • -d (--decompress) — wymusza dekompresję; przydatne, gdy wołasz przez gzip.
  • -t (--test) — testuje integralność archiwum bez rozpakowywania.
  • -l (--list) — pokazuje rozmiar skompresowany, nieskompresowany, współczynnik i nazwę pliku.
  • -r (--recursive) — schodzi rekurencyjnie po katalogu i rozpakowuje każdy plik z osobna.
  • -f (--force) — wymusza działanie: nadpisuje istniejące pliki, idzie przez dowiązania symboliczne.
  • -v (--verbose) — gadatliwy tryb: pokazuje nazwy plików i osiągnięty współczynnik kompresji.

Przykłady użycia

  • gunzip backup.sql.gz — rozpakowuje plik do backup.sql i usuwa oryginał .gz.
  • gunzip -k dump.sql.gz — to samo, ale zostawia archiwum nietknięte (przyda się, gdy chcesz mieć i jedno, i drugie).
  • gunzip -c access.log.gz | grep "404" — rozpakowuje na wyjście i od razu przeszukuje logi, bez tworzenia pliku na dysku.
  • gunzip -t archiwum.tar.gz — sprawdza, czy plik nie jest uszkodzony, zanim zaczniesz przywracać dane.
  • gunzip -r ./logi/ — rozpakowuje wszystkie .gz w całym drzewie katalogów logi.

Częste błędy i pułapki

Najczęstsza wpadka: zapominasz o -k i dziwisz się, że plik .gz zniknął. gunzip domyślnie kasuje wejście po udanej dekompresji — taka jego natura.

Druga pułapka to mylenie .tar.gz z czystym .gz. gunzip plik.tar.gz da ci tylko plik.tar, nadal spakowane w archiwum — żeby wypakować zawartość, użyj tar -xzf plik.tar.gz za jednym zamachem.

Jeśli plik docelowy już istnieje, gunzip zapyta o nadpisanie albo rzuci błędem. W skryptach dorzuć -f, żeby nie zawiesił się na pytaniu. Pamiętaj też, że gunzip obsługuje formaty gzip, a w wielu wersjach również .Z (compress) i .zip z jednym plikiem — ale do .bz2, .xz czy .zst potrzebujesz innych narzędzi.

Powiązane komendy: gzip, zcat, tar, bzip2, xz, zless.