Логотип

Как архивировать файлы и каталоги в Linux

Как архивировать файлы и каталоги в Linux

ZIP является наиболее широко используемым форматом архивных файлов, который поддерживает сжатие данных без потерь.

ZIP-файл — это контейнер данных, содержащий один или несколько сжатых файлов или каталогов. Сжатые (сжатые) файлы занимают меньше места на диске и могут быть перенесены с одного компьютера на другой быстрее, чем несжатые файлы. ZIP-файлы могут быть легко извлечены в Windows, MacOS и Linux, используя утилиты, доступные для всех операционных систем.

В этой статье мы покажем вам, как заархивировать (сжать) файлы и каталоги в системах Linux через командную строку с помощью утилиты zip.

 

Zip — это утилита, которая помогает вам создавать ZIP-архивы.

Команда zip имеет следующую синтаксическую форму:

zip OPTIONS ARCHIVE_NAME FILES

 

Чтобы создать ZIP-архив в определенном каталоге, пользователь должен иметь права на запись в этот каталог. ZIP-файлы не поддерживают информацию о владельце в стиле Linux, и все извлеченные файлы будут принадлежать пользователю, который запускает команду. Если вы хотите сохранить владение файлом и разрешения, используйте команду tar.

Утилита zip по умолчанию не установлена ​​в большинстве дистрибутивов Linux, но вы можете легко установить ее, используя менеджер пакетов вашего дистрибутива.

Читать  Команда Alias в Linux

 

sudo apt install zip

 

sudo yum install zip

 

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

zip archivename.zip filename1 filename2 filename3

 

adding: filename1 (deflated 63%)
adding: filename2 (stored 0%)
adding: filename3 (deflated 38%)

 

По умолчанию команда zip печатает имена всех файлов, которые добавляются в архив, и метод сжатия. Мы объясним методы сжатия и уровень позже в этой статье.

При указании имени zip-архива, если вы опустите расширение .zip, оно будет добавлено автоматически, если имя архива не содержит точку. zip archive name.zip filename создаст архив с тем же именем, что и zip archivename filename.

Если вы хотите подавить вывод команды zip, используйте -qпараметр:

zip -q archivename.zip filename1 filename2 filename3

 

Чаще всего вы создаете ZIP-архив каталога, включая содержимое подкаталогов. Эти опции -r позволяют пересекать всю структуру каталогов рекурсивно. Чтобы создать zip-архив каталога, вы должны использовать:

zip -r archivename.zip directory_name

 

Вы также можете добавить несколько файлов и каталогов в один архив:

zip -r archivename.zip directory_name1 directory_name2 file1 file1

 

Метод сжатия zip по умолчанию — deflate. Если утилита zip определяет, что файл не может быть сжат, она просто сохраняет файл в архиве, не сжимая его, используя метод store. В большинстве дистрибутивов Linux утилита zip также поддерживает метод сжатия bzip2.

Читать  Как я могу зайти с помощью sudo пользователя без пароля?

Чтобы указать метод сжатия, используйте опцию -Z.

zip -r -Z bzip2 archivename.zip directory_name

 

...
adding: sub_dir/ (stored 0%)
adding: sub_dir/file1 (bzipped 52%)
adding: sub_dir/file2 (bzipped 79%)

 

Команда zip позволяет указать уровень сжатия, используя число с префиксом от 0 до 9. По умолчанию используется уровень сжатия -6. При использовании -0, все файлы будут храниться без сжатия. -9 заставит команду zip использовать оптимальное сжатие для всех файлов.

Например, чтобы использовать уровень сжатия -9, вы должны напечатать что-то вроде этого:

zip -9 -r archivename.zip directory_name

 

Чем выше уровень сжатия, тем интенсивнее загрузка ЦП, и процесс займет больше времени.

 

Если у вас есть конфиденциальная информация, которую необходимо сохранить в архиве, вы можете зашифровать ее, используя параметр -e:

zip -e  archivename.zip directory_name

 

Вам будет предложено ввести и подтвердить пароль архива:

Enter password:
Verify password:

 

Представьте, что вы хотите хранить zip-архив на файловом хостинге, который имеет ограничение на размер файла 1 ГБ, а ваш ZIP-архив 5 ГБ.

Вы можете создать новый разделенный Zip-файл, используя -sопцию с указанным размером. Множитель может быть k (килобайт), m (мегабайт), g (гигабайт) или t (терабайт).

zip -s 1g -r archivename.zip directory_name

 

Приведенная выше команда будет продолжать создавать новые архивы в наборе после достижения указанного предела размера.

archivename.zip
archivename.z01
archivename.z02
archivename.z03
archivename.z04

 

Читать  Как сделать резервную копию системы Ubuntu с помощью grsync

Создайте ZIP-архив с именем archivename.zip, содержащий все файлы в текущем каталоге.

zip archivename *

 

То же, что и выше, включая скрытые файлы (файлы, начинающиеся с точки):

zip archivename .* *

 

Создайте ZIP-архив с именем archivename.zip, содержащий все файлы MP3 в текущем каталоге, не пытаясь сжать файлы.

zip -0 archivename *.mp3

 

Из этой статьи вы узнали, как создавать ZIP-архивы с помощью команды zip. Мы также показали вам наиболее распространенные опции команды zip. Чтобы извлечь ZIP-архив в системе Linux, вы можете использовать команду unzip.

Если вы хотите узнать больше о Zip, посетите страницу Zip Man.

Редактор: AndreyEx

Рейтинг: 4.6 (10 голосов)
Если статья понравилась, то поделитесь ей в социальных сетях:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Загрузка...

Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала