Чтение и работа с Gzip-сжатыми файлами журналов в Linux

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

Работа с Gzip-сжатыми файлами журналов в Linux

Но в отличие от обычных текстовых файлов, где вы можете использовать команду cat, чтобы увидеть все содержимое файла, или использовать команду grep, или использовать less, чтобы прочитать содержимое, не загромождая экран, сжатые файлы не могут быть использованы с теми же обычными командами Linux.

Не волнуйтесь, потому что когда у вас есть gzipped файлы, у вас также есть мощные команды Z для работы с ними.

Эти Z-команды обеспечивают 'Z' эквивалент обычных команд работы с файлами.

Итак, вы получаете:

  • zcat для cat для просмотра сжатого файла
  • zgrep для grep для поиска внутри сжатого файла
  • zless для less, zmore для more, для просмотра файла в страницах
  • zdiff для diff для просмотра разницы между двумя сжатыми файлами.

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

Просмотр сжатых файлов с помощью zcat

Если вы используете cat, вы можете заменить его на zcat. zcat используется точно так же, как и cat. Например:

Это покажет все содержимое файла logfile.gz, даже не извлекая его. На самом деле, он как бы временно извлекает его в /tmp, но это не то же самое, что настоящее извлечение, не так ли?

Вы можете использовать обычные команды less и more вместе с zcat, чтобы увидеть вывод в виде страниц:

Если вы не знаете, сжат файл или нет (т.е. файлы без расширения .gz), вы можете использовать zcat с опцией -f. Это выведет содержимое файла независимо от того, сжат он или нет.

Чтение сжатых файлов с помощью zless и zmore

Как и в случае с less и more, вы можете использовать zless и zmore для чтения содержимого сжатых файлов без их распаковки. Все сочетания клавиш для less и more работают одинаково.

Поиск внутри сжатых файлов с помощью zgrep

Grep - чертовски мощная команда и, я думаю, одна из самых используемых команд Linux. zgrep - это Z-аналог grep, который позволяет искать внутри сжатых файлов gzipped без их извлечения.

Вы можете использовать его со всеми обычными опциями grep. Например:

Сравнение сжатых файлов с помощью zdiff

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

Понравилась статья? Поделиться с друзьями:
Добавить комментарий