Android

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

Настя и сборник весёлых историй

Настя и сборник весёлых историй

Оглавление:

Anonim

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

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

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

команда zip

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

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

zip OPTIONS ARCHIVE_NAME FILES

Чтобы создать Zip-архив в определенном каталоге, пользователь должен иметь права на запись в этот каталог.

Zip-файлы не поддерживают информацию о владельце в стиле Linux. Извлеченные файлы принадлежат пользователю, который запускает команду.

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

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

Установите Zip на Ubuntu и Debian

sudo apt install zip

Установите Zip на CentOS и Fedora

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 archivename.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.

Чтобы указать метод сжатия, используйте параметр -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

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

Создание защищенного паролем ZIP-файла

zip -e archivename.zip directory_name

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

Enter password: Verify password:

Создание сплит Zip файла

Представьте, что вы хотите хранить 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

Примеры ZIP

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

zip archivename *

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

zip archivename.* *

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

zip -0 archivename *.mp3

Вывод

В Linux вы можете создавать Zip-архивы с помощью команды zip .

Чтобы извлечь ZIP-архив в системе Linux, вы можете использовать команду unzip.

почтовый терминал