Zcat linux команда это

Команда zcat для начинающих (5 примеров)

Оригинал: Linux zcat Command Tutorial for Beginners (5 Examples)
Автор: Himanshu Arora
Дата публикации: 24 июля 2018 года
Перевод: А. Кривошей
Дата перевода: декабрь 2018 г.

Сжатие данных полезно, поскольку оно позволяет вам экономить место на жестком диске. В то же время пользователям командной строки необходимо распаковать архив для того, чтобы, например, просмотреть содержимое архива или содержимое одного из файлов. Тем не менее, есть утилита командной строки — zcat — которая позволяет вам заглянуть внутрь сжатых файлов без каких-либо дополнительных усилий.

В этом руководстве мы обсудим основы использования zcat, используя несколько простых для понимания примеров. Обратите внимание, что все примеры в этой статье были протестированы в Ubuntu 16.04 LTS.

Команда zcat

Команда zcat позволяет вам просматривать содержимое сжатого файла. Ниже приводится ее синтаксис:

И вот как man-страница утилиты объясняет ее назначение:

zcat идентична gunzip -c (в некоторых системах zcat может устанавливается как gzcat, чтобы сохранить исходную ссылку на compress). zcat распаковывает список файлов в командной строке или стандартный ввод, и пишет несжатые данные на стандартный вывод.

Ниже приведены примеры в стиле вопрос/ответ, которые должны дать вам хорошее представление о том, как работает команда zcat.

Q1. Как использовать zcat?

Предположим, у вас есть сжатый текстовый файл, скажем test2.txt.gz. Если вы попытаетесь просмотреть его содержимое с помощью стандартной команды cat, вы увидите искаженный вывод:

Так что в этом случае вы можете использовать команду zcat. Основное использование очень просто — замените cat на zcat.

Таким образом, вы можете видеть, что содержимое сжатого файла отображается на стандартном выводе.

Q2. Работает ли zcat с несколькими вводами?

Да, это так. Все, что вам нужно сделать, это передать имена сжатых файлов в качестве входных данных. Например:

Вот вышеупомянутая команда в действии:

Q3. Распознает ли zcat сжатый файл по расширению?

Нет, это не тот случай. Вот что говорит по этому поводу справочная страница:

zcat распаковывает файлы с правильным магическим номером независимо от того, имеют они суффикс .gz или нет.

Чтобы убедиться в этом, мы удалили расширение .gz из одного из сжатых файлов и попытались запустить на нем zcat.

Таким образом, вы можете видеть, что утилита все еще смогла узнать, что это сжатый файл, и отобразить его содержимое.

Q4. Как справиться с разбивкой вывода на страницы при использовании zcat?

Есть два способа сделать это. Либо вы можете использовать стандартные команды more и less:

Либо использовать команды zmore и zless:

Q5. Работает ли zcat с несжатыми файлами?

По умолчанию нет. Если вы попытаетесь выполнить команду zcat с несжатым файлом в качестве входных данных, вы увидите ошибку, подобную следующей:

Однако если вы хотите, чтобы zcat отображал содержимое файла в выходных данных независимо от того, сжат файл или нет, используйте параметр командной строки -f. Следующий скриншот показывает эту опцию в действии:

Таким образом, вы можете видеть, что на этот раз утилита не выдала никакой ошибки.

Заключение

Несомненно, команда zcat экономит ваше время, если все, что вам нужно, это взглянуть на содержимое сжатого файла. Мы уже обсудили здесь некоторые полезные подробности, связанные с zcat. Для получения дополнительной информации зайдите на ее справочную страницу.

Источник

Zcat linux команда это

gzip [ -acdfhlLnNrtvV19 ] [ -S суффикс ] [ файл . ]
gunzip [ -acfhlLnNrtvV ] [ -S суффикс ] [ файл . ]
zcat [ -fhLV ] [ файл . ]

ОПИСАНИЕ

Gzip уменьшает размер перечисленных файлов, используя кодирование Лемпеля-Зива (LZ77). Там, где это возможно, каждый файл заменяется архивом с расширением .gz , с таким же владельцем, временем доступа и модификации. (Расширение по умолчанию — gz для VMS, z для MSDOS, OS/2 FAT, Windows NT FAT и Atari). Если не указано ни одного файла, или как имя файла указан «-«, то стандартный поток ввода сжимается в стандартный поток вывода. Gzip будет пытаться сжать только обычные файлы. В частности, он проигнорирует символические ссылки.

Читайте также:  Монитор acer v193hqv драйвер windows 10

Если имя сжатого файла слишком длинное для файловой системы, где он находится, gzip урезает его. Gzip пытается укоротить только те части имени файла, которые длиннее 3 символов (на части файл разбивается точкой). Если имя файла состоит только из коротких частей, укорачиваются только самые длинные части. Например, если имя файла ограничено 14-ю символами, gzip.msdos.exe сжимается в gzi.msd.exe.gz. Имена не укорачиваются на файловых системах не имеющих ограничения по длине имени файла.

По умолчанию gzip сохраняет в сжатом файле его оригинальное имя и временную метку. Это нужно для разархивирования файла с опцией -N . Она используется, если имя сжатого файла было усечено или временная метка при перемещении файла не сохранилось.

Сжатые файлы могут быть восстановлены в первоначальное состояние командой gzip -d или gunzip или zcat . Если первоначальное имя файла, сохранённое в архиве, не допускается файловой системой, в которой он находится, то ему создаётся новое имя из первоначального по правилам этой системы.

gunzip берёт список файлов из командной строки и заменяет каждый файл с расширением .gz, -gz, .z, -z, _z или .Z и начинающийся правильным заголовком разархивированным файлом без этого расширения. gunzip также распознаёт специальные расширения .tgz и .taz как сокращения от .tar.gz и .tar.Z соответственно. Сжимая файл, gzip по необходимости использует расширение .tgz вместо усечения имени у файла с расширением .tar .

gunzip на данный момент может распаковывать архивы, созданные gzip , zip , compress , compress -H или pack . Распознавание формата архива автоматическое. Используя первые два формата, gunzip проверяет 32-битный CRC. Для формата pack gunzip проверяет длину разархивированного файла. Стандартный формат compress не был рассчитан на возможность проверки целостности архива. Тем не менее, gunzip в некоторых ситуациях может распознать повреждённый .Z-файл. Если вы получаете сообщение об ошибке в процессе распаковки .Z-файла, не думайте, что он не повреждён, если стандартный uncompress на него не жалуется. Это обычно происходит из-за того, что uncompress не проверяет целостность архива и достаёт из него только кучу мусора. На системе SCO формат compress -H (алгоритм lzh) не использует CRC, но также допускает некоторые проверки на целостность.

Файлы, сжатые zip -ом, могут быть распакованы gzip-ом только если они содержат один файл, сжатый методом ‘deflation’. Эта функция предназначена только для целей конвертирования tar.zip-файлов в формат tar.gz. Для распаковки zip-архивов, содержащих несколько файлов, вместо gunzip используйте unzip .

zcat идентичен gunzip -c . (На некоторых системах zcat может быть установлен как gzcat , в целях обеспечения сохранности оригинальной ссылки на compress .) zcat распаковывает либо файлы по списку из командной строки, либо со стандартного потока ввода с записью разархивированных данных в стандартный поток вывода. zcat распаковывает файлы с правильным заголовком вне зависимости от того, содержат они суффикс .gz или нет.

Gzip использует алгоритм Лемпеля-Зива, применяемый в zip и PKZIP. Получаемая величина сжатия зависит от размеров входных данных и количества повторяющихся байтовых последовательностей. Текстовые данные, такие как исходные коды или просто тексты на английском языке, в среднем сжимаются на 60-70%. Сжатие обычно получается гораздо лучше, чем при использовании алгоритма LZW (используется в compress ), кодировании Хаффмана (используется в pack ) или адаптивном кодировании Хаффмана ( compact ).

Сжатие осуществляется всегда, даже если запакованный файл получается немного больше оригинала. В наихудшем случае размер файла увеличивается на несколько байт заголовка gzip, плюс по 5 байт на каждый блок размером 32 Кб, что составляет 0.015% на больших файлах. Обратите внимание, что фактическое число занятых файлом блоков на диске практически никогда не увеличивается. gzip при сжатии/распаковке сохраняет права доступа и временные метки файлов.

Читайте также:  Downloading windows office 2010

ОПЦИИ

Размер несжатого файла выводится как -1 для файлов не в формате gzip, таких как .Z-файлы. Чтобы получить размер несжатого файла в таких случаях, можно использовать команду:

В комбинации с ключом —verbose отображаются также следующие данные:

Методы сжатия, поддерживаемые на данный момент: deflate, compress, lzh (compress -H в SCO) и pack. CRC отображается как ffffffff для файлов не в формате gzip.

С ключом —name имя оригинального файла, дата и время берутся из самого архива, если присутствуют.

С ключом —verbose также выводятся общий размер и коэффициент сжатия всех файлов, при условии что все размеры известны. С ключом —quiet не показывается заголовок и итоговая часть. -L —license Показать лицензию gzip и выйти. -n —no-name При сжатии не сохранять по умолчанию имя исходного файла и временные метки (оригинальное имя всегда сохраняется, если имя архива придётся усечь). При распаковке не восстанавливать имя исходного файла, даже если оно сохранено (только убрать суффикс gzip из имени архива), и не восстанавливать оригинальные временные метки (взять их со сжатого файла). Эта опция при распаковке применяется по умолчанию. -N —name При сжатии всегда сохранять имя и временные метки исходного файла (используется по умолчанию). При распаковке восстанавливать имя и временные метки исходного файла, если они присутствуют. Эта опция полезна в системах, имеющих ограничение на длину имени файла, или при потере временных меток файла в процессе его перемещения. -q —quiet Не выводить предупреждения. -r —recursive Рекурсивно разбирать дерево каталогов. Если в списке из командой строки указан какой-нибудь каталог, gzip зайдёт в него и сожмёт все файлы, в нём находящиеся (или распакует их в случае с gunzip ). -S .суф —suffix .суф Использовать суффикс .суф вместо .gz. Может быть задано любое окончание, но суффиксов, отличных от .z и .gz лучше избегать, чтобы не спутать их с другими при переносе файлов на другие системы. Отсутствие суффикса заставляет gunzip пытаться распаковать все указанные файлы вне зависимости от их окончаний, например:

Предыдущие версии gzip использовали суффикс .z, но в дальнейшем это было изменено, чтобы избежать конфликта с pack .(1). -t —test Тест, проверка целостности сжатого файла. -v —verbose Подробно. Показывать имя и уменьшения размера в процентах для каждого файла при сжатии или распаковке. -V —version Версия. Показать номер версии и параметры сборки, затем выйти. -# —fast —best Управление скоростью сжатия посредством цифры # , где -1 или —fast обозначает самый быстрый метод сжатия (хуже сжимается), и -9 или —best обозначает самый медленный (лучшая степень сжатия). Уровень сжатия по умолчанию равен -6 (хорошее сжатие при средней скорости).

РАСШИРЕННОЕ ИСПОЛЬЗОВАНИЕ

Несколько сжатых файлов можно объединить в один. В этом случае gunzip распакует все файлы одновременно. Например:

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

сжимает лучше, чем

Если вы хотите перепаковать объединённые файлы для достижения большего сжатия, выполните:

Если в архиве несколько файлов, то размер несжатых данных и CRC, показываемые по ключу —list, относятся только к последнему файлу. Если вам нужен несжатый размер всех файлов, можно использовать:

Если вы хотите создать единый архив с множеством файлов так, чтобы их потом можно было извлечь независимо друг от друга, используйте другие архиваторы, такие как tar или zip. GNU tar поддерживает ключ -z, по которому вызывается непосредственно gzip. gzip создан как дополнение к tar-у, а не как замена.

ОКРУЖЕНИЕ

Переменная окружения GZIP может содержать набор ключей по умолчанию для gzip . Эти ключи обрабатываются первыми и могут быть переопределены явным их указанием в командной строке. Например:

Читайте также:  Windows 10 после обновления не запускается калькулятор

На системах Vax/VMS во избежание конфликта с командой вызова программы такая переменная окружения называется GZIP_OPT.

СМОТРИ ТАКЖЕ

Формат файла gzip описан P. Deutsch в «GZIP file format specification version 4.3», , Internet RFC 1952 (May 1996). Формат разархивации zip описан P. Deutsch в «DEFLATE Compressed Data Format Specification version 1.3», , Internet RFC 1951 (May 1996).

ДИАГНОСТИКА

Код возврата в нормальной ситуации равен 0. Если возникла ошибка, код возврата 1. Если вышло предупреждение, код возврата 2. Использование: gzip [-cdfhlLnNrtvV19] [-S suffix] [file . ] Invalid options were specified on the command line. В командной строке были указаны неправильные ключи. file : not in gzip format Файл, указанный gunzip , не сжат. file : Corrupt input. Use zcat to recover some data. Сжатый файл повреждён. Воспользуйтесь zcat для восстановления части данных. Данные до точки повреждения могут быть восстановлены командой

file : compressed with xx bits, can only handle yy bits Файл был сжат (используя LZW) программой, которая может использовать больше бит , чем программа распаковки на этом компьютере. Перепакуйте файл gzip, который лучше сжимает и использует меньше памяти. file : already has .gz suffix — no change Файл считается уже сжатым. Переименуйте его и попробуйте снова. file already exists; do you wish to overwrite (y or n)? Ответьте «y», если хотите переписать уже существующий архив, в противном случае «n». gunzip: corrupt input Было зафиксировано нарушение SIGSEGV, что обычно означает, что входной файл повреждён. xx.x% Сжатием достигнуто уменьшение размера на данную величину. (Относится к ключам -v и -l .) — not a regular file or directory: ignored Если указанный файл не является обычным файлом или каталогом (например символическая ссылка, сокет, очередь, файл устройства и т.д.), он не обрабатывается. — has xx other links: unchanged На указанный файл есть ссылки — он пропускается. Читайте ln (1) для получения дополнительной информации. Для принудительного сжатия таких файлов используйте ключ -f .

ПРЕДОСТЕРЕЖЕНИЯ

При записи сжатых данных на ленту обычно нужно дополнять архив нулями до конца блока. Когда архив считан с ленты и передан gunzip на распаковку, gunzip обнаруживает, что после сжатых данных идёт мусор, и по умолчанию выдаёт предупреждение. Для отключения предупреждений используйте ключ —quiet. Этот ключ может быть задан в переменной окружения GZIP , например:

В приведённом примере gzip неявно вызывается ключом -z в GNU tar. Имейте в виду, что для записи и чтения архива с ленты необходимо использовать один и тот же размер блока (опция -b в tar). (Этот пример подразумевает, что вы используете версию tar от GNU.)

ОШИБКИ

Формат gzip представляет входной размер модуля 2^32, таким образом опция —list сообщает неправильные размеры не сжатых файлов и коэффициенты сжатия для не архивированных файлов размером 4 и более гигабайт. Чтобы обойти эту проблему, вы можете воспользоваться следующей командой, чтобы определить истинный размер большого распаковываемого файла:

Ключ —list выдаёт размер как -1 и CRC как ffffffff, если архив находится на устройстве с последовательным доступом.

В некоторых редких случаях ключ —best даёт худшее сжатие, чем метод по умолчанию (-6). Некоторые файлы, содержащие чрезвычайно избыточную информацию, compress сжимает лучше, чем gzip .

ЛИЦЕНЗИОННОЕ СОГЛАШЕНИЕ

Copyright ╘ 1998, 1999, 2001 Free Software Foundation, Inc. Сopyright ╘ 1992, 1993 Jean-loup Gailly

Настоящим предоставляется право изготавливать и распространять дословные копии этого руководства, включая объявление об авторском праве, с условием сохранения данного разрешения на всех копиях.

Настоящим предоставляется право копировать и распространять модифицированные копии этого руководства на условиях лицензионного соглашения для дословного копирования, при условии, что полный окончательный результат будет распространяться на условиях, идентичных условиям распространения данного документа.

Настоящим предоставляется право копировать и распространять переводы данного руководства на другом языке, на вышеупомянутых условиях для изменённых версий, если это уведомление об авторском праве не может быть объявлено в переводе, одобренном Фондом.

Источник

Оцените статью