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.gzzamiast 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 przezgzip.-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 dobackup.sqli 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.gzw całym drzewie katalogówlogi.
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.