Архиваторы для Linux – это программы-утилиты, которые объединяют множество файлов и папок в один компактный архив для удобства передачи и хранения, а также экономии дискового пространства и ускорения загрузки по сети.
Архивирование представляет собой объединение файлов и каталогов (включая их метаданные и структуру) в один монолитный файл-контейнер (например, с помощью tar), который затем может сжиматься отдельной программой (например, gzip) для уменьшения занимаемого места и удобства передачи.
Сжатые архивы экономят место на диске и позволяют ускорить процесс передачи данных по сети. Среди самых популярных архиваторов для Linux – Zip, Unzip, 7zip и Tar.
В этой статье мы рассмотрим архиваторы, позволяющие работать с наиболее популярными типами архивов в Linux.
Tar-архивы – один из наиболее распространенных способов хранения данных в Linux. Однако tar не сжимает данные в архиве, а лишь упаковывает файлы. Для сжатия tar умеет работать с утилитами bzip2 или gzip.
В большинстве операционных систем на базе Linux пакет tar доступен по умолчанию.
Для вызова справки выполните команду:
tar --help
Создадим архив с помощью опций cfv:
tar cfv betutorial.tar file1.txt file2.txt dir1
Значение данных опций следующее:
Файлы, сжатые с помощью компрессорных утилит Linux bzip2 и gzip, имеют расширения .tar.bz2 и .tar.gz. Для сжатия с помощью bzip2 добавьте параметр j и укажите расширение файла bz2:
tar cjfv betutorial.tar.bz2 file1.txt file2.txt dir1
Для gzip добавляется параметр z и расширение gz:
tar czfv betutorial.tar.gz file1.txt file2.txt dir1
Добавить файл можно только в несжатый архив.
Параметр r позволит добавить файл в конец архива:
tar rf betutorial.tar document.pdf
Вы можете посмотреть файлы архива, не распаковывая его, с помощью параметра t:
$ tar tf betutorial.tar file1.txt file2.txt dir1/ dir1/file3.txt dir1/file4.txt document.pdf
Для распаковки архива используйте параметры xvf:
Если нужно распаковать сжатый архив, добавьте соответствующий типу компрессии параметр:
tar xzfv betutorial.tar.gz
Чтобы разархивировать tar в другую директорию Linux вместо текущей, используйте параметр C:
tar xzfv betutorial.tar.gz -C /home/betutorial/example
7zip – это кроссплатформенный набор утилит для работы с архивами. Помимо собственного формата, этот архиватор для Linux поддерживает большое количество других, в том числе .tar и .zip.
Установка в Ubuntu:
sudo apt install p7zip-full
Установка в дистрибутивах на базе RHEL:
sudo dnf install p7zip p7zip-plugins
Установка в Arch Linux:
sudo pacman -Sy p7zip
Для вызова справки выполните команду:
7z
Чтобы создать архив, используя этот графический архиватор Linux, примените ключ a – так вы сможете создать новый архив или добавить файлы и директории (включая вложенные файлы) в существующий:
7z a имя_архива.7z имя_файла
Например:
7z a betutorial.7z file1.txt file2.txt dir1
Чтобы установить пароль на архив, используйте параметры p (слитно укажите ваш пароль) и mhe=on (данный параметр скроет структуру архива):
7z a -pPASSWORDmhe=on betutorial.7z file1.txt
Теперь добавим файл к созданному ранее архиву – как и при создании, используется параметр a:
7z a betutorial.7z document.pdf
Параметр l позволяет посмотреть содержимое архива без необходимости его распаковывать. Проверим, что файл document.pdf был добавлен:
Для распаковки используйте параметр x. При распаковке пути файлов будут сохранены:
7z x betutorial.7z
Чтобы извлечь содержимое архива в новый каталог, используйте параметр o, например:
7z x -oBetutorial_dir betutorial.7z
Либо укажите полный путь к директории:
7z x -o/home/betutorial/example betutorial.7z
Параметр e позволяет извлечь файлы без сохранения полного пути – файлы из всех поддиректорий в архиве будут размещены в директории распаковки:
7z e betutorial.7z
Проверим целостность файлов в архиве:
7z t betutorial.7z
Архив цел:
Everything is Ok
Вы можете использовать данные архиваторы для работы с файлами формата.zip. Чтобы упаковать и распаковать архивы в Linux, нужно установить два пакета: zip и unzip.
Установка в Ubuntu:
sudo apt install zip unzip
Установка в дистрибутивах на базе RHEL:
sudo dnf install zip unzip
Установка в Arch Linux:
sudo pacman -Sy zip unzip
Для вызова справки выполните в Linux команду zip либо unzip.
Для создания архива достаточно ввести команду zip, название архива и файлы через пробел:
zip betutorial.zip file1.txt file2.txt
Для добавления директории с вложенными файлами в архив используйте параметр r:
zip betutorial.zip file1.txt file2.txt -r /home/betutorial/example
Чтобы установить пароль на архиватор zip, необходимо использовать опцию e и указать пароль через пробел:
zip -e PASSWORD betutorial.zip file1.txt file2.txt -r /home/betutorial/example
Команда для добавления файла в существующий архив будет аналогична команде создания архива: укажите имя архива и добавляемый файл:
zip betutorial.zip document.pdf
Для просмотра содержимого архива используйте команду распаковки unzip с параметром l:
Чтобы извлечь файлы из архива в текущую директорию, укажите название архива:
unzip betutorial.zip
Для распаковки в определенную директорию добавьте параметр d и путь к каталогу:
unzip -d /home/betutorial/example betutorial.zip
При отсутствии директории с указанным именем она будет создана.
С помощью параметра t проверим целостность файлов в архиве:
Для распаковки .rar-архивов в Linux используется unrar.
Установка в Ubuntu:
apt install unrar
Установка в дистрибутивах на базе RHEL:
sudo dnf install unrar
Установка в Arch Linux:
sudo pacman -Sy unrar
Для вызова справки выполните команду:
unrar
Для создания архива используйте команду rar и параметр a:
rar a betutorial.rar file1.txt file2.txt
Чтобы добавить директорию с вложенными файлами в архив, используйте флаг r:
rar a -r betutorial.rar file1.txt file2.txt dir1/
Используйте параметр p, чтобы защитить архив паролем:
rar a -pPASSWORD betutorial.rar file1.txt file2.txt
Для добавления файла в конец существующего архива используйте параметр u:
rar u betutorial.rar document.pdf
Для просмотра файлов в архиве используйте ключ l:
Чтобы извлечь файлы из архива в текущую директорию, достаточно передать утилите имя архива и параметр e:
unrar e betutorial.rar
С помощью параметра t проверим целостность файлов в архиве:
Доля Linux на десктопах достигла исторического максимума (6,2%), 78,5% разработчиков по всему миру отмечают, что используют Linux в качестве основной или дополнительной ОС, в России всё больше отечественных компаний также выбирают Linux.
По прогнозам, к 2027 году объем мирового рынка Linux достигнет 15,64 трлн долл., одна из причин его популярности – в том, что пользователи по всему миру более охотно переходят на свободное ПО.
В этой статье мы рассмотрели наиболее полезные команды для Zip и других архиваторов, которые могут пригодиться каждому, кто работает в Linux.
Если возникнут вопросы, напишите нам, пожалуйста, тикет из панели управления аккаунта (раздел “Помощь и поддержка”), а если вы захотите обсудить эту статью или наши продукты с коллегами по цеху и сотрудниками Beget – ждем вас в нашем сообществе в Telegram.