gzip — это стандартная утилита в Linux для сжатия и распаковки файлов. Она уменьшает размер файлов, экономит место и ускоряет передачу данных по сети. Поддерживает разные уровни сжатия (от -1 — быстро до -9 — максимально).gzip применяется для уменьшения размеров логов и бэкапов, упаковки результатов сборки, сжатия данных перед передачей по сети, автоматических задач (cron, CI/CD).В этом посте мы рассмотрим несколько сценариев использования
gzip.gzip -9 имя_файла
Это удобно для критических случаев, где важнее уменьшить размер файла, чем скорость обработки.
gzip может сжимать данные не только из файлов, но и через стандартный ввод. Например, можно сжать вывод другой команды:mysqldump имя_базы_данных | gzip > backup.sql.gz
Эта команда создаст резервную копию базы данных, одновременно сжимая её, что особенно полезно для экономии места при больших базах.
pigz имя_файла
pigz поддерживает все те же параметры, что и gzip, но работает быстрее на многоядерных системах.gzip -l имя_файла.gz
Вывод покажет размер до и после сжатия, степень сжатия и имя исходного файла. Для более детализированного отчета добавьте параметр
-v:gzip -lv имя_файла.gz
Это полезно для оценки эффективности сжатия файлов перед их распаковкой.
-r:gzip -r имя_каталога
Эта команда пройдется по всей структуре каталога и сожмет каждый файл.
Чтобы распаковать все файлы в каталоге рекурсивно, используйте:
gzip -dr имя_каталога
gzip используется вместе с командой tar. Например:tar -czf архив.tar.gz имя_каталога
Здесь
-c создает архив, -z указывает на использование сжатия через gzip, а -f определяет имя файла архива. Для распаковки архива:
tar -xzf архив.tar.gz
Сжать лог-файлы перед отправкой по сети:
cat /var/log/syslog | gzip -9 | nc -w 3 192.168.1.10 8888
Эта команда сжимает лог и отправляет его по сети с помощью netcat.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3