Zcat - Линукс команда - Unix команда

име

gzip, gunzip, zcat - компресиране или разширяване на файлове

резюме

gzip [ -acdfhlLnNrtvV19 ] [ наставка ] [ име ... ]
gunzip [ -acfhlLnNrtvV ] [ наставка ] [ име ... ]
zcat [ -fhLV ] [ име ... ]

описание

Gzip намалява размера на споменатите файлове, като използва Lempel-Ziv кодиране (LZ77). Когато е възможно, всеки файл се заменя с един с разширение .gz , като се запазват същите режими на собственост, време за достъп и промяна. (Разширението по подразбиране е -gz за VMS, z за MSDOS, OS / 2 FAT, Windows NT FAT и Atari.) Ако не са зададени файлове или името на файла е "-", стандартният вход се компресира в стандартния изход. Gzip ще се опита да компресира обикновени файлове. По-специално, тя ще пренебрегне символните връзки.

Ако името на компресирания файл е твърде дълго за неговата файлова система, gzip го съкращава. Gzip се опитва да съкрати само части от името на файла, по-дълги от 3 знака. (Частта се дефинира с точки.) Ако името се състои само от малки части, най-дългите части са отрязани. Например, ако имената на файловете са ограничени до 14 знака, gzip.msdos.exe се компресира до gzi.msd.exe.gz. Имената не са отрязани на системи, които нямат ограничения за дължината на името на файла.

По подразбиране gzip запазва оригиналното име на файла и времевия знак в компресирания файл. Те се използват при декомпресиране на файла с опцията -N . Това е полезно, когато името на компресирания файл е било съкратено или когато печатът на времето не е запазен след прехвърляне на файлове.

Компресираните файлове могат да бъдат възстановени в оригиналната им форма с помощта на gzip -d или gunzip или zcat. Ако оригиналното име, запазено в компресирания файл, не е подходящо за неговата файлова система, се създава ново име от оригиналното, за да стане законно.

gunzip взема списък с файлове на командния ред и замества всеки файл, чието име завършва с .gz, -zz, .z, -z, _z или .Z и което започва с правилния магически номер с некомпресиран файл без оригиналното разширение , gunzip също така разпознава специалните разширения .tgz и .taz като съкращения за .tar.gz и .tar.Z съответно. При компресиране gzip използва разширението .tgz, ако е необходимо, вместо да прекъсва файла с разширение .tar .

gunzip в момента може да декомпресира файлове, създадени от gzip, zip, компресиране, компресиране -H или pack. Откриването на входния формат е автоматично. Когато използвате първите два формата, gunzip проверява 32-битов CRC. За опаковка, gunzip проверява некомпресираната дължина. Стандартният формат за компресиране не е създаден, за да позволи проверка на последователността. Въпреки това gunzip понякога може да открие лош .Z файл. Ако получите грешка при декомпресиране на .Z файл , не предполагайте, че .Z файлът е правилен, просто защото стандартната декомпресия не се оплаква. Това обикновено означава, че стандартният декомпресор не проверява приноса си и щастливо генерира изход за отпадъци. SCO компресира -H формат (метод за компресия lzh) не включва КРС, но също така позволява някои проверки на консистенцията.

Файловете, създадени от zip, могат да бъдат декомпресирани от gzip само ако имат един компресиран член с метода "deflation". Тази функция е предназначена само за подпомагане на преобразуването на файловете tar.zip във формат tar.gz. За да извлечете zip файлове с няколко членове, използвайте unzip вместо gunzip.

zcat е идентичен с gunzip -c. (На някои системи zcat може да се инсталира като gzcat, за да се запази оригиналната връзка, която да се компресира.) Zcat декомпресира списък на файлове от командния ред или неговия стандартен вход и записва некомпресираните данни на стандартния изход. zcat ще декомпресира файловете, които имат правилния магически номер, независимо дали имат приставка .gz или не.

Gzip използва алгоритъма Lempel-Ziv, използван в zip и PKZIP. Количеството на получената компресия зависи от размера на входа и разпределението на общи подзаредения. Обикновено текстът, като изходен код или английски, се намалява с 60-70%. Компресията обикновено е много по-добра от тази, постигната от LZW (както се използва в компресията ), Huffman кодиране (както се използва в пакета ) или адаптивно Huffman кодиране ( компактно ).

Компресията винаги се извършва, дори ако компресираният файл е малко по-голям от оригинала. Най-лошото разширение на случая е няколко байта за заглавката на файла gzip плюс 5 байта на всеки 32K блок или коефициент на експандиране от 0,015% за големи файлове. Имайте предвид, че действителният брой на използваните дискови блокове почти никога не се увеличава. gzip запазва режима, собствеността и времевите марки на файловете при компресиране или декомпресиране.

НАСТРОИКИ

-a-ascii

Ascii текст режим: конвертиране на край на линии, използвайки местни конвенции. Тази опция се поддържа само при някои системи, които не са Unix. За MSDOS CR LF се преобразува в LF при компресиране и LF се преобразува в CR LF при декомпресиране.

-c - изход - за изход

Запишете продукцията на стандартния изход; запазете оригиналните файлове непроменени. Ако има няколко входни файла, изходът се състои от последователност от независимо компресирани елементи. За да получите по-добра компресия, свържете всички входни файлове, преди да ги компресирате.

-d - декомпресиране - компресиране

Разархивирайте.

-f -force

Принудително компресиране или декомпресия, дори ако файлът има няколко връзки или съответният файл вече съществува, или ако компресираните данни се четат или се записват в терминал. Ако входните данни не са във формат, разпознат от gzip, и ако опцията --stdout също е дадена, копирайте входните данни без да променяте стандартния изход: позволете на zcat да се държи като котка. Ако -f не е дадено и когато не се изпълнява във фонов режим, gzip подкани да провери дали съществуващ файл трябва да бъде презаписан.

-h --Помощ

Покажете помощен екран и го затворете.

-l - списък

За всеки компресиран файл, посочете следните полета:


компресиран размер: размерът на компресирания файл
некомпресиран размер: размера на некомпресирания файл
съотношение: съотношение на сгъстяване (0,0%, ако не е известно)
uncompressed_name: името на некомпресирания файл

Некомпресираният размер е даден като -1 за файлове, които не са във формат gzip, като например компресирани .Z файлове. За да получите некомпресиран размер за такъв файл, можете да използвате:


zcat file.Z | wc-c

В комбинация с опцията --verbose се показват и следните полета:


метод: метод на компресия
crc: 32-битовата КРС на некомпресираните данни
дата и час: маркер за време за некомпресирания файл

Поддържаните понастоящем методи за компресиране се дефлират, компресират, lzh (SCO компресират -H) и pack. КРС е даден като ffffffff за файл, който не е във формат gzip.

С - име, некомпресираното име, дата и час са тези, съхранени в компресирания файл, ако има такива.

При --verbose, също се показват общите размери и съотношението на компресия за всички файлове, освен ако някои размери не са известни. При --quiet, заглавията и общите линии не се показват.

-L - лиценз

Покажете лиценза gzip и го затворете.

-n --no-име

При компресиране не запазвайте по подразбиране оригиналното име на файла и времевия печат. (Оригиналното име винаги се запазва, ако името трябва да бъде отрязано.) Когато декомпресирате, не възстановявайте оригиналното име на файла, ако има такъв (премахнете само приставката gzip от името на компресирания файл) и не възстановете оригиналната дата, ако има такова (копирайте го от компресирания файл). Тази опция е по подразбиране при декомпресиране.

-N - име

При компресиране винаги запазвайте оригиналното име на файла и времевия печат; това е по подразбиране. Когато декомпресирате, възстановете оригиналното име на файла и времевия печат, ако има такъв. Тази опция е полезна за системите, които имат ограничения за дължината на име на файл или когато е изгубен времевият печат след трансфер на файлове.

-q - quiet

Потискайте всички предупреждения.

-r - рекурсивен

Пътувайте структурата на директорията рекурсивно. Ако някое от имената на файловете, посочени в командния ред, са директории, gzip ще слезе в директорията и ще компресира всички файлове, които намира там (или ги декомпресира в случай на gunzip ).

-S .suf --suffix .suf

Използвайте суфикси .suf вместо .gz. Всеки суфикс може да бъде даден, но други наставки, различни от .z и .gz, трябва да се избягват, за да се избегне объркване при прехвърляне на файлове в други системи. Null суфикс принуждава gunzip да опита декомпресията на всички дадени файлове, независимо от наставката, както в:


gunzip -S "" * (*. * за MSDOS)

Предишните версии на gzip са използвали приставката .z. Това бе променено, за да се избегне конфликт с опаковката (1).

-t - тест

Тест. Проверете цялостността на компресирания файл.

-v - подробно

Verbose. Показване на името и процентното намаление за всеки компресиран или декомпресиран файл.

-V - версия

Версия. Покажете номера на версията и опциите за компилация, след което излезте.

- # - бързо - най-доброто

Регулирайте скоростта на компресиране, използвайки посочената цифра # , където -1 или --fast показва най-бързия метод на компресиране (по-малко компресия) и -9 или -best показва най-бавния метод на компресия (най-добрата компресия). Стандартното ниво на компресия е -6 (т.е. е предубедено към висока компресия за сметка на скоростта).

Разширено използване

Много компресирани файлове могат да бъдат обединени. В този случай, gunzip ще извлече всички членове наведнъж. Например:


gzip -c файл1> foo.gz
gzip -c файл2 >> foo.gz

Тогава


gunzip -c foo

е еквивалентно на


котка file1 file2

В случай на повреда на един член на файл .gz, други членове все още могат да бъдат възстановени (ако повреденият член бъде премахнат). Въпреки това, можете да получите по-добра компресия, като компресирате всички членове наведнъж:


файл с котка1 файл2 gzip> foo.gz

компресира по-добре от


gzip -c файл1 файл2> foo.gz

Ако искате да компресирате компресираните файлове, за да получите по-добра компресия, направете следното:


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

Ако компресиран файл се състои от няколко члена, некомпресираният размер и КРС, посочени от опцията -list, се отнасят само за последния член. Ако имате нужда от некомпресиран размер за всички членове, можете да използвате:


gzip -cd file.gz | wc-c

Ако искате да създадете един архивен файл с няколко членове, за да могат членовете по-късно да бъдат извлечени самостоятелно, използвайте архиватор като катран или цип. GNU tar поддържа опцията -z, за да извикате gzip прозрачно. gzip е проектиран като допълнение към катрана , а не като заместител.

ВИЖТЕ СЪЩО

компрес (1)

Файловият формат gzip е специфициран в P. Deutsch, спецификация на файловия формат GZIP версия 4.3, , Интернет RFC 1952 (май 1996). Форматът на дефлацията на цип е посочен в P. Deutsch, DEFLATE Compressed Data Format Specification, версия 1.3, , Интернет RFC 1951 (май 1996).

Важно: Използвайте командата човек ( % man ), за да видите как се използва команда на вашия компютър.