tar bzip2 gzip xz zstd zip unrar p7zip Сравнительная таблица архиваторов
Окружение
Вы можете подробнее ознакомиться с работой утилит для архивирования, копирования и восстановления файлов, просмотрев наши обучающие видео:
на RuTube:
Консольные утилиты для работы с архивами.
в Яндекс.Дзен:
Копирование и клонирование дисков;
в VK Видео:
На наших каналах вы также сможете найти много другой полезной информации.
tar — это утилита для создания архивов, которая позволяет упаковывать файлы и каталоги в единый файл-архив, а также распаковывать их. Она не включает в себя алгоритмы сжатия данных, но созданные архивы могут быть сжаты с помощью дополнительных программ, таких как gzip, bzip2 или xz.
Пакет tar установлен в РЕД ОС по умолчанию. Если он не установлен, то для установки выполните команду:
sudo dnf install tar
Утилита доступна для запуска через терминал при помощи команды следующего вида:
tar [параметры] <файл_архива> [файлы]
Основные параметры:
-A, --concatenate — присоединить существующий архив к другому;
-c, --create — создать новый архив;
-d, --diff — проверить различия между архивами;
-delete — удалить данные из архива;
-r, --append — добавить новые файлы в конец архива;
-t, --list — вывести список содержимого архива, если файлы не указаны, то вывести информацию обо всех файлах;
-u, --update — добавить новые файлы в конец архива;
-x, --extract — распаковать файлы из архива;
-C <dir> — изменить директорию на <dir> перед выполнением операции;
-f — вывести результат в file;
-p, --preserve-permissions — сохранить все права доступа;
-j, --bzip2 — использовать сжатие bzip2 при создании файла tar, в результате получается сжатый архив с расширением *.tar.bz2;
--version — показать версию программного обеспечения;
-v, --verbose — вывести всю информацию о текущем процессе и показать сведения об уже завершенном процессе.
1. Архивация файла в формат tar без сжатия:
tar -cf file.tar file.txt
2. Архивация каталога в формат tar без сжатия:
tar -cf files.tar ~/files
3. Отправка архива на удаленную машину через ssh-соединение:
tar -cvpz ./ | ssh root@10.81.1.190 "(cat > /home/user/ssh_backup.tar)"
4. Распаковка архива в текущий каталог:
tar -xvf file.tar
5. Распаковка архива в указанный каталог:
tar -xvf files.tar -С /home/root/folder
6. Просмотр содержимого архива без распаковки:
tar -t file.tar
bzip2 — это утилита командной строки, предназначенная для сжатия и распаковки файлов. Она использует алгоритм сжатия текста с блочной сортировкой Барроуза-Уилера и кодирования Хаффмана. Он принимает список имен файлов в качестве входных данных и заменяет каждый файл его сжатой версией.
Пакет bzip2 установлен в РЕД ОС по умолчанию. Если он не установлен, то для установки выполните команду:
sudo dnf install bzip2
bzip2 [параметры] <файл>
-d, --decompress — разархивировать файл;
-t, --test — проверить целостность архива;
-z, --compress — принудительно сжать;
-k, --keep — сохранить исходные файлы при архивации или разархивации;
-s — использовать меньше оперативной памяти за счет снижения скорости архивации, рекомендуется применять на компьютерах с малым объемом ОЗУ (8 Мбайт и меньше);
-v, --verbose — выводить дополнительную информацию в процессе работы;
-V, --version — показать версию программного обеспечения и лицензию;
-h, --help — вывести справку;
-1 — -9 — установка степени сжатия (чем больше число, тем выше степень сжатия).
1. Использование bzip2 для архивации одного файла:
bzip2 -9k file.tar
2. Использование bzip2 вместе с tar для сжатия нескольких файлов:
tar -cvjf file.tar.bz2 ~/files
3. Распаковка архива:
bzip2 -dk file.bz2
4. Распаковка сжатого tar-архива:
tar -xvjf file.tar.bz2
5. Проверка целостности без распаковки:
bzip2 -t file.bz2
gzip — утилита сжатия и восстановления файлов, использующая алгоритм Deflate. Gzip фокусируется на одном файле (текстовом документе, изображении или tar-архиве). *.gz — стандартное расширение для файлов, сжатых gzip. Файлы, сжатые с помощью tar, часто имеют расширение *.tar.gz или *.tgz. Файлы *.tar.gz сначала нужно разархивировать с помощью tar, а затем распаковать с помощью gzip.
Пакет gzip установлен в РЕД ОС по умолчанию. Если он не установлен, то для установки выполните команду:
sudo dnf install gzip
gzip [параметры] <файл>
-d, --decompress — распаковать;
-t, --test — проверка целостности указанного(ых) файла(ов) без разархивации;
-k, --keep — сохранять исходные файлы при архивации или разархивации;
-l, --list — перечислить содержимое сжатого файла;
-h, --help — показать справку;
-r, --recursive — рекурсивно перемещаться по структуре каталогов (если какой-либо из файлов, указанных в командной строке, является каталогом, gzip перейдет в каталог и сожмет все найденные там файлы);
-V, --version — показать версию программного обеспечения;
-1 – -9, — установка степени сжатия (чем больше число, тем выше степень сжатия).
1. Использование gzip для архивации одного файла:
gzip -9k file.tar
2. Использование gzip вместе с tar для сжатия нескольких файлов:
tar -cvzf files.tar.gz ~/files
gzip -dk file.tar
tar -xvzf files.tar.gz
gzip -t file.bz2
XZ — формат контейнера для архивов, использующий алгоритм сжатия LZMA2 и призванный заменить формат контейнера lzma. Как и форматы gzip и bzip2, он является контейнером для единственного файла, поэтому его обычно используют совместно с форматом tar.
Пакет xz-libs установлен в РЕД ОС по умолчанию. Если он не установлен, то для установки выполните команду:
sudo dnf install xz-libs
xz [параметры] <файл>
-d — принудительная разархивация;
-z — сжимает входной файл (используется по умолчанию);
-t, --test — проверить целостность архива *.xz;
-c, --stdout — направить сжатые данные в стандартный вывод и не удалять входные файлы;
-v, --verbose — отображать процесс сжатия или распаковки файлов;
-0 – -9, — установка степени сжатия (чем больше число, тем выше степень сжатия).
1. Использование xz для архивации одного файла:
xz -9k file.tar
2. Использование xz вместе с tar для сжатия нескольких файлов:
tar -cvJf files.tar.gz ~/files
xz -dk file.tar
tar -xvJf files.tar.gz
xz -t file.bz2
zstd — алгоритм сжатия данных без потерь. Алгоритм сочетает словарный алгоритм сжатия данных типа LZ77 и эффективное энтропийное кодирование типа ANS.
Пакет zstd установлен в РЕД ОС по умолчанию. Если он не установлен, то для установки выполните команду:
sudo dnf install zstd
zstd [параметры] <файл>
-t — проверка целостности указанного(ых) файла(ов) без разархивации;
-k — сохранять исходные файлы при архивации или разархивации;
-s — снижает требования к объему используемой оперативной памяти за счет снижения скорости архивации. Эту опцию рекомендуется применять на компьютерах с малым объемом ОЗУ (8 Мбайт и меньше);
-v — выводить дополнительную информацию в процессе работы (представляет интерес в диагностических целях);
1. Использование zstd для архивации одного файла:
zstd -19k file.tar
2. Использование zstd вместе с tar для сжатия нескольких файлов:
tar --zstd -cvf files.tar.gz ~/files
zstd -dk file.tar
tar --zstd -xvf files.tar.gz
zstd -t file.bz2
zip — утилита для создания сжатых архивов. Zip-архивы очень часто используются для обмена файлами в интернете. С помощью этой утилиты можно сжимать как файлы, так и папки.
Пакет zip установлен в РЕД ОС по умолчанию. Если он не установлен, то для установки выполните команду:
sudo dnf install zip
zip [параметры] <имя_архива> <файлы>
-d — удалить файл из архива;
-r — рекурсивное архивирование, то есть с вхождением во вложенные каталоги;
-0 — только архивировать, без сжатия;
-9 — наилучшая степень сжатия;
-F — исправить zip-файл;
-e — шифровать файлы.
1. Архивация каталога:
zip archive.zip -r /var/log/
2. Архивация выбранных файлов:
zip archive.zip file1.txt file2.txt
3. Архивация файла с максимальной степенью сжатия:
zip -9 file1.zip file1.txt
4. Распаковка архива:
unzip archive.zip
5. Распаковка в конкретную директорию:
unzip archive.zip -d /tmp
6. Извлечение определенного файла из архива:
unzip archive.zip file2.log
7. Проверка содержимого архива без распаковки:
unzip -l archive.zip
8. Проверка целостности архива без распаковки:
unzip -t archive.zip
unrar — это инструмент на базе терминала, разработанный для извлечения и открытия RAR в таких системах, как Linux.
Для установки пакета используется команда:
sudo dnf install unrar
unrar [параметры] <имя_архива> [<путь_разархивирования>]
e — распаковать архив;
l — вывести список файлов внутри архива;
p — вывести распакованный файл в стандартный вывод;
t — проверить архив;
v — вывести подробную информацию про архив;
x — извлечь файлы, сохраняя полный путь внутри архива.
-ad — добавить имя архива к пути распаковки;
-ai — игнорировать атрибуты файлов;
-inul — не выводить сообщения об ошибках;
-p — указать пароль архива;
-sl — распаковывать только файлы, меньше указанного размера;
-u — обновить уже распакованные файлы;
-y — отвечать y на все запросы;
-x — не распаковывать указанные файлы;
-ts — сохранять временную метку исходных файлов.
1. Распаковка архива в текущий каталог:
unrar x archive.rar
2. Распаковка архива в конкретный каталог:
unrar x archive.rar ./folder
p7zip — файловый архиватор с высокой степенью сжатия данных благодаря формату 7z с компрессией LZMA. Кроме формата 7z поддерживает также ZIP, GZIP, BZIP2 и TAR.
Пакет p7zip установлен в РЕД ОС по умолчанию. Если он не установлен, то для установки выполните команду:
sudo dnf install p7zip
7z [параметры] <имя_архива> [<файлы>]
a — добавить файлы в архив;
d — удалить файлы из архива;
e — извлечь файлы из архива (без использования имён директорий);
l — просмотреть содержимое архива;
t — тестировать архив на целостность;
u — обновить файлы в архиве;
x — извлечь файлы из архива с полными путями;
-mx0 — -mx9 — уровень компрессии (-mx0 — без компрессии, -mx9 — самая большая компрессия).
1. Создание архива в текущем каталоге:
7z a archive.7z
2. Создание архива из выбранных файлов:
7z a archive.7z file file1 file2
3. Создание архива с максимальной степенью сжатия:
7z a -mx9 archive.7z
4. Создание архива в указанной директории:
7z a /home/user/archive.7z
5. Распаковка архива в текущую директорию:
7z x archive.7z
6. Распаковка архива в определенную директорию:
7z x archive.7z -o./files
7. Для просмотра содержимого архива используется команда:
7z l archive.7z
8. Проверка целостности архива:
7z t archive.7z
Для теста использовались файлы различных форматов общим размером 1350 МБ.
Стандартное сжатие
Максимальное сжатие
Итоговый размер (МБ)
Время (сек)
bzip2
943
336
342
gzip
955
105
954
110
xz
856
966
847
1652
zstd
934
43
873
1339
zip
956
91
125
7z
851
659
845
1001
По результатам тестирования видно, что 7z обеспечивает наилучшую степень сжатия, в то время как zstd показывает меньшее время компрессии при стандартном сжатии.
Дата последнего изменения: 28.01.2025
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.
Нажимая «Отправить запрос», вы соглашаетесь с условиями обработки персональных данных.
Вы будете получать только актуальную информацию по обновлению безопасности
Подписываясь на уведомления, вы соглашаетесь с условиями обработки персональных данных.
На ваш почтовый адрес отправлено письмо с подтверждением подписки.