GZip v1.2.4x2 (ENIF)
Prohlížíte-li si nějaké cédéčko Aminet, nebo brouzdáte-li Iternetem, určitě narazíte na archivy s koncovkou ".z" nebo ".gz". Právě tyto jsou výsledkem činnosti pakovače GZip.
GZip v1.2.4x2
Verze GZipu který tu budu popisovat je už celkem dost stará, ale zatím mě ještě nezklamal (je z 9. dubna, 1994). Abych pravdu řekl, tak mi GZip ležel celkem dost dlouho na hadru, než jsem pro něj našel uplatnění (znáte to -lha, lzx a spol.). Ale poslední dobou, co se stále víc zajímám o LINUX, ho prostě občas potřebuju.
Nechám už úvodů a něco vám o něm povím...
Popis:
Gzip redukuje velikost souborů pomocí Lempel-Zivova kódování (LZ77). Pokud mu to umožníte, nahradí původní soubor pakovaným s příponou ".gz" (přednastavená přípona je - ".gz" pro VMS, ".z" pro MSDOS, OS/2 FAT, Windows NT FAT a Atari). Nespecifikujete-li žádný soubor, nebo je-li jako název souboru zadáno "-", bude se komprimovat standardní vstup do standard ního výstupu. Gzip je schopmý zkomprimovat pouze opravdové soubory. To znamená, že GZip ignoruje symbolické linky na soubory.
Je-li jméno kompresovaného souboru příliž dlouhé pro daný souborový systém, GZip ho zkrátí. Gzip dovoluje zkrátit pouze ty části jména souboru, které jsou delší než tři znaky (jednotlivé části jsou ohraničeny tečkami). Skládá-li se jméno pouze z malých částí, pak se zkrátí nejdelší části. Například, jsou-li názvy souborů limitovány na 14 znaků, gzip.msdos.exe bude zkomprimován jako gzi.msd.exe.gz. Jména se nekrátí na systémech které nemají nijak limitovánu délku jmen souborů.
Podle svého přednastavení, GZip ukládá originální jméno souboru a čas do zkompresovaného souboru, čehož se využívá, když rozbalujete soubor s parametrem -N. Toto je užitečné, bylo-li jméno zkompresovaného souboru zkráceno nebo když uložený čas nebyl zachován při přenosu archivu.
Pakované soubory mohou být obnoveny do jejich originální podoby použitím "gzip -d" nebo "gunzip" nebo "zcat". Není-li originální jméno uložené v archivu použitelné pro daný file systém, je zkonstruováno nové z původního jména tak, aby bylo "OKee Dokee".
Archivy vytvořené zipem mohou být rozbaleny GZipem pouze obsahují-li pouze jeden soubor kompresovaný metodou 'deflation'. Pro rozpakování zipů s několika soubory používejte unzip místo gunzip.
Gzip využívá Lempel-Zivova algoritmu používaného i v zipu a PKZIPu. Účinnost komprese závisí na velikosti vstupních souborů a množství vložených řetězců (jména souborů, ...). Typicky, texty (jako jsou zdrojáky) bývají zredukovány na 60-70% své délky. Komprese je všeobecně mnohem lepší než LZW (používá ji např. compress), Huffmanovo kódování (používá ho pack), nebo adaptivní Huffmanovo kódování (compact).
Tolik tedy citát z originální dokumentace k GZipu (lehce zkráceno :-)). Následuje popis používání GZipu (taktéž pokrácený).
Formát:
gzip [ -acdfhlLnNrtvV19 ] [-S přípona] [ jméno ... ]
Vybrané parametry:
-d --decompress --uncompress
Rozbalení.
-c --stdout --to-stdout
Zapíše vstup na standardní výstup. Nechá původní soubor
bezezměny. Zadáte-li několik vstupních souborů, pak výstup
bude obsahovat sekvenci nezávisle zkomprimovaných souborů.
Pro dosažení lepší komprese spojte všechny vstupní soubory
před jejich balením dohromady (např. Tarem).
-h --help
Zobrazí nápovědu a skončí.
-l --list
Zobrazení obsahu archivu.
Pro každý zkompresovaný soubor vypíše:
velikost po spakování
původní velikost
kompresní poměr (0.0% je-li neznámý)
jméno nezkompresovaného souboru (původní j.)
Zadáte-li i parametr -v, je GZip ještě ukecanější...
-N --name
Při kompresi vždycky uloží originální jméno souboru a čas.
Toto je přednastavená volba a není ji tedy nutné zadávat.
-r --recursive
Probere všechny adresáře i podadresáře a spakuje všechno
dohromady (nebo rozbalí).
-q --quiet
Maká bez varování... :-)
Nelekejte se - pouze nic nebude vypisovat...
-t --test
Otestuje, je-li archiv v pořádku.
-v --verbose
Během své pracovní doby bude obzvlášť ukecanej.
-V --version
Zobrazí svou verzi a skončí.
Co mám tedy, proboha, napsat?
Při rozbalování:
gzip >dočehorozbalit -dc corozbalit.gz (nebo .z, ...)
nebo při balení:
gzip >dočehozabalit.gz -c cozabalit
Když si přečtete originální dokumentaci k GZipu, zjistíte, že toho umí je ště mnohem víc (jen musíte umět anglicky... ;-)).
GZip má lepší kompresi než Lha a většinou přemůže i Lzx. Tak se mi zdá, že už vím do čeho že to budu příště balit...