5 лучших инструментов архивации командной строки для Linux – Часть 1

В повседневной жизни мы сталкиваемся с архивированными файлами на платформах самого разного рода, будь то Windows, Mac или Linux. Для всех этих платформ существует несколько приложений для создания и извлечения архивов. Когда речь идет о работе в среде Linux, нам приходится часто иметь дело с архивированными файлами.

Linux Command Line Archive Tools

В данной статье мы будем обсуждать инструменты для работы с архивами, доступные в стандартных дистрибутивах Linux, их особенности, примеры и т. д. Статья разделена на две части, каждая из них содержит пять командных инструментов для работы с архивами (т. е. всего 10 лучших командных инструментов для работы с архивами).

Что такое архивированный файл?

Архивированный файл – это сжатый файл, состоящий из одного или нескольких компьютерных файлов, а также метаданных.

Особенности архивирования

  1. Сжатие данных
  2. Шифрование
  3. Сцепление файлов
  4. Автоматическое извлечение
  5. Автоматическая установка
  6. Информация о источнике, объеме и носителях данных
  7. Разделение файлов
  8. Контрольная сумма
  9. Информация о структуре каталогов
  10. Другие метаданные (данные о данных)
  11. Обнаружение ошибок

Область применения

  1. Хранение компьютерных файлов вместе с метаданными.
  2. Полезно для передачи файлов локально.
  3. Полезно для передачи файлов через веб.
  4. Упаковка программного обеспечения.

Полезные приложения архивации в стандартных дистрибутивах Linux следующие:

1. Команда tar

tar является стандартным инструментом архивации в UNIX/Linux. В своих ранних версиях он использовался для архивации на ленте, постепенно развиваясь в общеподходящий пакет сжатия с гибкостью, способным обрабатывать различные типы архивных файлов.tar поддерживает множество фильтров сжатия с опциями.

опции tar

  1. -A : Добавляет tar файлы в существующие архивы.
  2. -c : Создает новый архив.
  3. -d : Сравнивает архив с указанными файловыми системами.
  4. -j : Сжатие архива с использованием bzip.
  5. -r : Добавляет файлы в существующие архивы.
  6. -t : Просмотр содержимого существующих архивов.
  7. -u : Обновление архива
  8. -x : Разпаковка файла из существующего архива.
  9. -z : Сжатие архива с использованием gzip.
  10. –delete : Удаление файлов из существующего архива.
Примеры tar

Создание архивного файла tar.

# tar -zcvf name_of_tar.tar.gz /path/to/folder

Разпаковка файла tar.

# tar -zxvf Name_of_tar_file.tar.gz

Чтобы более детальные примеры, смотрите 18 Примеров Команды Tar в Linux.

Команда shar

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

shar параметры

  1. -o : Сохранить вывод в архивные файлы, как указано в параметре.
  2. -l : Ограничить размер вывода, как указано в параметре, но не разбивать его.
  3. -L : Ограничить размер вывода, как указано в параметре и разбить его.
  4. -n : Имя архива, которое нужно включить в заголовок файлов shar.
  5. -a : Разрешить автоматическое создание заголовков.

Примечание: Опция ‘-o‘ обязательна при использовании опции ‘-l‘ или ‘-L‘ и опция ‘-n‘ обязательна при использовании опции ‘-a‘.

Примеры использования shar

Создать архивный файл shar.

# shar file_name.extension > filename.shar

Извлечь архивный файл shar.

# unshar file_name.shar

3. Команда ar

ar является утилитой создания и манипулирования архивами, в основном используемой для бинарных файловых библиотек объектов. ar означает архиватор, который можно использовать для создания архива любого вида для любой цели, но в основном он был заменен на ‘tar’, и в наши дни используется только для создания и обновления статических библиотечных файлов.

Параметры ar

  1. -d : Удалить модули из архива.
  2. -m : Переместить участников в архив.
  3. -p : Распечатать указанных участников из архива.
  4. -q : Быстрое добавление.
  5. -r : Вставить файл-участник в архив.
  6. -s : Добавить индекс в архив.
  7. -a : Добавить новый файл к существующим участникам архива.
Примеры команды ar

Создание архива с помощью инструмента ‘ar‘ с статической библиотекой ‘libmath.a‘ с файлами ‘substraction’ и ‘division’.

# ar cr libmath.a substraction.o division.o

Для извлечения файла архива ‘ar’.

# ar x libmath.a

4. cpio

cpio означает Копировать в и из. Cpio – это универсальный файловый архиватор для Linux. Он активно используется менеджером пакетов RedHat (RPM) и в initramfs ядра Linux, а также является важным инструментом архивирования в Установщике Apple Computer (pax).

Опции cpio

  1. -0 : Чтение списка имен файлов, завершающееся нулевым символом, вместо новой строки.
  2. -a : Сбросить время доступа.
  3. -A : Добавить.
  4. -b : Обмен.
  5. -d : Создание каталогов.
Примеры команды cpio

Создание архива ‘cpio’.

# cd tecmint
# ls

file1.o file2.o file3.o

# ls | cpio  -ov > /path/to/output_folder/obj.cpio

Для извлечения файла из архива cpio.

# cpio -idv < /path/to folder/obj.cpio

5. Gzip

Gzip – это стандартная и широко используемая утилита для сжатия и распаковки файлов. Gzip позволяет объединение файлов. Сжатие файла с использованием gzip приводит к созданию архива tarball в формате “*.tar.gz” или “*.tgz“.

  1. –stdout : Вывод результата в стандартный вывод.
  2. –to-stdout : Вывод результата в стандартный вывод.
  3. –decompress : Распаковка файла.
  4. –uncompress : Распаковка файла.
  5. -d : Распаковка файла.
  6. -f : Принудительное сжатие/распаковка.
Примеры использования gzip:

Создание архива gzip.

# tar -cvzf name_of_archive.tar.gz /path/to/folder

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

# gunzip file_name.tar.gz

Для выполнения вышеуказанной команды необходимо указать следующую команду.

# tar -xvf file_name.tar

Примечание: Архитектура и функционал gzip делают восстановление поврежденного архива ‘gzipped tar archive’ сложным. Рекомендуется создавать несколько резервных копий важных файлов, сжатых с помощью gzip, в различных местах.

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

Source:
https://www.tecmint.com/command-line-archive-tools-for-linux/