Zcat - příkaz Linux - příkaz Unixu

název

gzip, gunzip, zcat - komprimovat nebo rozbalit soubory

Synopse

gzip [ -acdfhlLnNrtvV19 ] [ -S přípona ] [ jméno ... ]
gunzip [ -acfhlLnNrtvV ] [ -S přípona ] [ jméno ... ]
zcat [ -fhLV ] [ název ... ]

Popis

Gzip snižuje velikost jmenovaných souborů pomocí kódování Lempel-Ziv (LZ77). Kdykoli je to možné, každý soubor je nahrazen jedním typem s příponou .gz , při zachování stejných režimů vlastnictví, přístupu a úprav. (Výchozí rozšíření je -gz pro VMS, z pro MSDOS, OS / 2 FAT, Windows NT FAT a Atari.) Pokud nejsou zadány žádné soubory nebo jestliže je název souboru "-", standardní vstup je komprimován do standardní výstup. Gzip se pokusí komprimovat pouze běžné soubory. Zvláště ignoruje symbolická spojení.

Pokud je název komprimovaného souboru příliš dlouhý pro jeho souborový systém, gzip ho zkrátí. Program Gzip se pokusí zkrátit pouze části názvu souboru delší než 3 znaky. (Část je vymezena tečkami.) Pokud se název skládá pouze z malých částí, nejdelší části jsou zkráceny. Pokud jsou například názvy souborů omezeny na 14 znaků, gzip.msdos.exe je komprimován na adresu gzi.msd.exe.gz. Názvy nejsou zkráceny na systémech, které nemají limit na délku názvu souboru.

Ve výchozím nastavení obsahuje gzip v komprimovaném souboru původní název souboru a časové razítko. Ty se používají při dekompresi souboru s volbou -N . To je užitečné, pokud byl název komprimovaného souboru zkrácen nebo když po přenosu souboru časová známka nebyla zachována.

Komprimované soubory lze obnovit do původní podoby pomocí gzip -d nebo gunzip nebo zcat. Pokud původní název uložený v komprimovaném souboru není vhodný pro jeho systém souborů, nový název je vytvořen z původního názvu, aby byl legální.

gunzip načte seznam souborů na příkazovém řádku a nahrazuje každý soubor, jehož jméno končí čísly .gz, -gz, .z, -z, _z nebo .Z a které začínají správným magickým číslem s nekomprimovaným souborem bez původního rozšíření . gunzip také rozpoznává speciální rozšíření .tgz a .taz jako zkratky pro .tar.gz a .tar.Z . Při kompresi použije gzip v případě potřeby příponu .tgz namísto zkrácení souboru s příponou .tar .

gunzip může v současné době dekomprimovat soubory vytvořené pomocí gzip, zip, compress, compress -H nebo pack. Detekce vstupního formátu je automatická. Při použití prvních dvou formátů zkontroluje gunzip 32bitový CRC. U balíčku kontroluje gunzip nekomprimovanou délku. Standardní kompresní formát nebyl navržen tak, aby umožňoval kontroly konzistence. Nicméně gunzip je někdy schopen detekovat špatný soubor .Z. Pokud dojde k chybě při dekompresi souboru .ZZ , nepředpokládejte, že soubor .Z je správný, prostě proto, že standardní dekomprese se nestěžuje. To obecně znamená, že standardní dekomprese nekontroluje svůj vstup a šťastně generuje odpadní výstup. Formát komprese SC (metoda komprese lzh) neobsahuje CRC, ale také umožňuje některé kontroly konzistence.

Soubory vytvořené zipem mohou být dekomprimovány pomocí gzip pouze v případě, že mají jeden člen komprimovaný metodou "deflace". Tato funkce je určena pouze k tomu, aby pomohla konverzi souborů tar.zip na formát tar.gz. Chcete-li extrahovat soubory zip s několika členy, použijte rozbalit namísto gunzip.

zcat je totožný s gunzip -c. (Na některých systémech může být zcat nainstalována jako gzcat, aby se zachovala původní komprese.) Zcat dekomprimuje seznam souborů na příkazovém řádku nebo jeho standardní vstup a zapíše nekomprimované údaje na standardní výstup. zcat rozbalí soubory, které mají správné magické číslo, zda mají příponu .gz nebo ne.

Gzip používá algoritmus Lempel-Ziv používaný v zipu a PKZIP. Množství získané komprese závisí na velikosti vstupu a distribuci společných podřetězců. Obvykle se text, jako je zdrojový kód nebo angličtina, snižuje o 60-70%. Komprese je obecně mnohem lepší než komprese LZW (používaná v kompresi ), kódování Huffman (jak je používáno v balení ) nebo adaptivní kódování Huffman ( kompaktní ).

Komprese se provádí vždy, i když je komprimovaný soubor o něco větší než originál. Nejhorší případ rozšíření je několik bajtů pro záhlaví souboru gzip plus 5 bajtů u každého bloku 32 kB nebo poměr rozšíření 0,015% pro velké soubory. Všimněte si, že skutečný počet použitých diskových bloků se téměř nikdy nezvyšuje. gzip zachovává režim, vlastnictví a časové značky souborů při kompresi nebo dekompresi.

MOŽNOSTI

-a - ascii

Textový režim Ascii: konvertujte koncové řádky pomocí místních konvencí. Tato možnost je podporována pouze u některých systémů, které nejsou Unix. Pro MSDOS je CR LF při kompresi převeden na LF a LF je při dekompresi převeden na CR LF.

-c -stdout -to-stdout

Napište výstup na standardní výstup; zachovat původní soubory nezměněné. Pokud je několik vstupních souborů, výstup sestává ze sekvence nezávislých komprimovaných členů. Chcete-li získat lepší kompresi, zkombinujte všechny vstupní soubory před jejich kompresí.

-d - dekomprimovat --uncompress

Dekomprimovat.

-f - force

Komprese nebo dekomprimování, i když má soubor více odkazů nebo příslušný soubor již existuje, nebo pokud jsou komprimovaná data přečtena nebo zapsána do terminálu. Pokud vstupní data nejsou ve formátu uznaném gzip a je-li také zadána volba --stdout, zkopírujte vstupní data bez změny na standardní výstup: nechte zcat chovat jako mačku. Pokud -f není zadán a když není spuštěn na pozadí, vyzve gzip k ověření, zda má být přepsán existující soubor.

-h - pomoc

Zobrazte obrazovku nápovědy a ukončete ji.

-l - seznam

Pro každý komprimovaný soubor zadejte následující pole:


komprimovaná velikost: velikost komprimovaného souboru
nekomprimovaná velikost: velikost nekomprimovaného souboru
poměr: kompresní poměr (0,0% pokud není známo)
uncompressed_name: název nekomprimovaného souboru

Nekomprimovaná velikost je uvedena jako -1 pro soubory, které nejsou ve formátu gzip, například komprimované soubory .Z. Chcete-li získat nekomprimovanou velikost pro takový soubor, můžete použít:


zcat file.Z | wc -c

V kombinaci s volbou --verbose se zobrazí také následující pole:


metoda: metoda komprese
crc: 32bitová CRC nekomprimovaných dat
datum a čas: časové razítko pro nekomprimovaný soubor

Kompresní metody, které jsou aktuálně podporovány, jsou deflate, compress, lzh (SCO compress -H) a pack. Crc je uveden jako ffffffff pro soubor, který není ve formátu gzip.

Pomocí --name, nekomprimované jméno, datum a čas jsou ty, které jsou uloženy v souboru komprese, pokud jsou k dispozici.

Při --verbose se zobrazují také souhrny velikosti a kompresní poměr pro všechny soubory, pokud nejsou známy některé velikosti. Při --quiet, řádky nadpisů a součtů se nezobrazí.

-L - povolení

Zobrazte licenci gzip a ukončete.

-n --no-jméno

Při kompresi neukládejte ve výchozím nastavení původní název souboru a časovou značku. (Původní název je vždy uložen, pokud jméno muselo být zkráceno.) Při dekompresi obnovte původní název souboru, pokud je k dispozici (odstraňte pouze příponu gzip z názvu komprimovaného souboru) a neobnovte původní časovou známku, pokud je k dispozici (zkopírujte jej z komprimovaného souboru). Tato možnost je při dekompresi výchozí.

-N - jméno

Při kompresi vždy uložte původní název souboru a časovou značku; to je výchozí nastavení. Při dekomprimování obnovte původní název souboru a časovou značku, pokud je k dispozici. Tato volba je užitečná pro systémy, které mají limit na délku názvu souboru nebo pokud byla po přenosu souboru ztracena časová známka.

-q - klid

Potlačte všechna upozornění.

-r - recursive

Cestovní adresář strukturu rekurzivně. Pokud některý z názvů souborů uvedených na příkazovém řádku obsahuje adresáře, gzip sestupuje do adresáře a komprimuje všechny soubory, které tam nalezne (nebo je dekomprimuje v případě gunzipu ).

-S .suf --suffix .suf

Použijte příponu .suf namísto .gz. Může být zadána jakákoli přípona, ale je třeba vyhnout se příponám jiným než .z a .gz, aby nedocházelo k záměně při převodu souborů do jiných systémů. Nulová přípona nutí gunzip zkusit dekompresi na všech daných souborech bez ohledu na příponu, jako v:


gunzip -S "" * (*. * pro MSDOS)

Předchozí verze gzip používala příponu .z. To bylo změněno, aby se zabránilo konfliktu s balíčkem (1).

-t - test

Test. Zkontrolujte integritu komprimovaných souborů.

-v - podrobnější

Podrobný. Zobrazte název a procentuální snížení pro každý komprimovaný nebo dekomprimovaný soubor.

-V - verze

Verze. Zobrazte číslo verze a možnosti kompilace, poté ukončete.

- # - rychlá - nejlepší

Nastavte rychlost komprese pomocí zadané číslice # , kde -1 nebo --fast označuje nejrychlejší metodu komprese (méně komprese) a -9 nebo --best označuje nejpomalejší metodu komprese (nejlepší komprese). Výchozí úroveň komprese je -6 (to znamená zkreslení pro vysokou kompresi na úkor rychlosti).

Pokročilé použití

Více komprimovaných souborů lze spojit. V takovém případě bude z pistole vytahovat všechny členy najednou. Například:


gzip -c soubor1> foo.gz
gzip -c soubor2 >> foo.gz

Pak


gunzip -c foo

je ekvivalentní


cat file1 file2

V případě poškození jednoho člena souboru .gz mohou být další členové stále obnoveni (pokud je poškozený člen odstraněn). Nicméně lepší kompresi můžete dosáhnout kompresí všech členů najednou:


kočičí soubor1 soubor2 | gzip> foo.gz

komprese lepší než


gzip -c soubor1 soubor2> foo.gz

Chcete-li kompresi překreslovat, abyste získali lepší kompresi, postupujte takto:


gzip -cd old.gz | gzip> new.gz

Pokud je komprimovaný soubor složen z několika členů, nekomprimovaná velikost a CRC hlášené volbou -list se vztahují pouze na poslední člena. Pokud potřebujete nekomprimovanou velikost pro všechny členy, můžete použít:


gzip -cd soubor.gz | wc -c

Chcete-li vytvořit jediný archivní soubor s více členy, aby se členové mohli později extrahovat samostatně, použijte archivátor, jako je dehet nebo zip. GNU tar podporuje volbu -z pro vyvolání gzip transparentně. gzip je navržen jako doplněk k dehtu , ne jako náhrada.

VIZ TAKÉ

komprese (1)

Formát souboru gzip je uveden v dokumentu P. Deutsch, specifikace formátu souboru GZIP verze 4.3, , Internet RFC 1952 (květen 1996). Formát deflování zipu je uveden v dokumentu P. Deutsch, DEFLATE Compressed Data Format Specification verze 1.3, , Internet RFC 1951 (květen 1996).

Důležité: Použijte příkaz man ( % man ), abyste zjistili, jaký příkaz se používá v konkrétním počítači.