3. tar и gzip

Прежде чем углубляться в менеджеры пакетов, важно понять архивирование и сжатие файлов. Когда вы загружаете программное обеспечение из Интернета, вы часто обнаруживаете его упакованным в архивные и сжатые форматы. Этот урок посвящен двум основным утилитам для этой цели: tar и gzip.

Понимание архивирования против сжатия

Важно различать архивирование и сжатие. Архивирование — это процесс объединения нескольких файлов и каталогов в один файл, известный как архив. Это упрощает управление группой файлов и их передачу. Сжатие, с другой стороны, — это процесс уменьшения размера файла для экономии места на диске и ускорения передачи. Утилита tar используется для архивирования, а gzip — для сжатия. Часто вы увидите, что gzip и tar используются вместе.

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

Программа gzip используется для сжатия отдельных файлов в Linux. Когда вы сжимаете файл с помощью gzip, он заменяется файлом с расширением .gz.

Чтобы сжать файл:

gzip mycoolfile

Это создаст mycoolfile.gz и удалит оригинал. Чтобы распаковать файл, вы можете использовать gunzip:

gunzip mycoolfile.gz

Создание архивов с помощью tar

Хотя gzip отлично подходит для сжатия, он не может объединять несколько файлов в один архив. Для этого мы используем утилиту tar (Tape Archive). Файл, созданный с помощью tar, часто называют «тарболом» (tarball) и имеет расширение .tar.

Чтобы создать новый архив, содержащий несколько файлов:

tar cvf myarchive.tar file1 file2 directory1

Разберем опции:

  • c: create (создать) новый архив.
  • v: verbose (подробный) режим, который перечисляет файлы по мере их обработки.
  • f: file (файл), указывающий, что следующий аргумент — это имя архивного файла.

Мощь tar и gzip вместе

Настоящая мощь проявляется при совместном использовании tar и gzip. Вы можете сначала создать архив .tar, а затем сжать его с помощью gzip, в результате чего получится файл .tar.gz. Однако tar предоставляет удобный способ обработки tar compression (архивирования tar) за один шаг с помощью опции z. Этот процесс иногда называют созданием архива gzip tar.

Чтобы создать сжатый архив, что является распространенным способом compress tar gz файлов:

tar czvf myarchive.tar.gz file1 file2 directory1

Здесь опция z указывает tar использовать gzip для сжатия.

Извлечение архивов tar и gzip

Чтобы извлечь файлы из архива, используйте опцию x.

Чтобы извлечь простой архив .tar:

tar xvf myarchive.tar

Чтобы распаковать и извлечь архив .tar.gz одной командой, просто снова добавьте опцию z:

tar xzvf myarchive.tar.gz

Рассмотрим опции извлечения:

  • x: extract (извлечь) файлы из архива.
  • z: Decompress the archive using g**z**ip (Распаковать архив с помощью gzip).
  • v: verbose (подробный) режим, перечисляющий файлы по мере их извлечения.
  • f: file (файл), указывающий архивный файл для извлечения.

A helpful mnemonic for this is: eXtract Zee Very Fast! (Полезный мнемонический прием для этого: Извлечь Зед Очень Быстро!)

tar — это настолько важная, но часто забываемая команда. Соответствующий xkcd: https://xkcd.com/1168

Другие утилиты

Хотя tar и gzip чрезвычайно распространены, в вашем путешествии по Linux вы столкнетесь с другими форматами архивирования и сжатия. К ним относятся bzip2 (который создает файлы .bz2 и использует флаг j в tar), xz (создает файлы .xz с флагом J) и знакомые утилиты zip/unzip. У каждого свой набор команд и коэффициенты сжатия, но основные концепции остаются прежними.

Войдите, чтобы сохранить ваш прогресс обучения

Вход

Упражнения

Практика ведет к совершенству! Вот несколько практических лабораторных работ для закрепления вашего понимания архивирования и сжатия файлов:

  1. Упаковка и сжатие файлов — Изучите основные методы сжатия и упаковки файлов в Linux с помощью таких инструментов, как tar, gzip и zip.
  2. Создание и восстановление резервной копии с помощью tar в Linux — Получите практический опыт создания и восстановления резервных копий файловой системы с помощью команды tar.
  3. Резервное копирование системного журнала — Изучите важный навык резервного копирования системных файлов журналов с помощью команды tar и форматирования даты.

Эти лабораторные работы помогут вам применить концепции архивирования и сжатия в реальных сценариях и повысить уверенность в управлении файлами в Linux.

Тест

Какой флаг tar используется для создания архивов? Пожалуйста, ответьте одной строчной английской буквой.