как создать zip архив linux
Создаем zip-архивы в командной строке
Рассмотрим, как создавать и распаковывать zip архивы из командной строки.
Для создания архивов служит команда zip. У нее есть более 30 разных опций, но я рассмотрю простейшие примеры.
Создаем простой zip-архив
Для создания zip-архива просто выполняем команду zip, в первом аргументе указываем имя будущего архива, а во втором сам файл, который мы сжимаем:
Если нужно сжать несколько файлов то перечисляем их через пробел:
Создаем zip-архив папки
Чтобы заархивировать папку, используется ключ -r:
Создаем zip-архив с паролем
Очень важной функцией утилиты zip является возможность задания пароля на распаковку архива. Для этого применяется опция -P, после которой следует написать пароль:
Если вы не хотите вводить пароль в командной строке у всех на виду, то можно использовать опцию -e, чтобы вместо ввода пароля в открытую, вводить его в срытом виде:
После выполнения данной команды, вам будет предложено дважды ввести пароль. Сам пароль виден при этом не будет:
Распаковка zip-архива
Для того, чтобы разархивировать zip-архив, используется команда unzip. Ее можно запускать без опций, только указывая имя архива:
По умолчанию распаковка происходит в текущей директории. Чтобы распаковать архив в другую директорию, используется опция -d, после которой нужно указать путь до директории:
Как заархивировать файлы и каталоги в Linux
Zip — это наиболее широко используемый формат архивных файлов, поддерживающий сжатие данных без потерь.
Zip-файл — это контейнер данных, содержащий один или несколько сжатых файлов или каталогов. Сжатые (заархивированные) файлы занимают меньше места на диске, их можно перенести с одного компьютера на другой быстрее, чем несжатые файлы. Zip-файлы можно легко извлечь в Windows, macOS и Linux с помощью утилит, доступных для всех операционных систем.
zip Команда
zip — это утилита командной строки, которая помогает создавать Zip-архивы.
Команда zip имеет следующий синтаксис:
Чтобы создать Zip-архив в определенном каталоге, пользователю необходимо иметь права на запись в этот каталог.
Zip-файлы не поддерживают информацию о владельце в стиле Linux. Извлеченные файлы принадлежат пользователю, выполняющему команду.
Утилита zip не устанавливается по умолчанию в большинстве дистрибутивов Linux, но вы можете легко установить ее с помощью диспетчера пакетов вашего дистрибутива.
Установите Zip в Ubuntu и Debian
Установите Zip на CentOS и Fedora
Как архивировать файлы и каталоги
Чтобы заархивировать один или несколько файлов, укажите файлы, которые вы хотите добавить в архив, через пробел, как показано ниже:
По умолчанию команда zip печатает имена файлов, добавленных в архив, и метод сжатия. Мы объясним методы и уровень сжатия позже в этом руководстве.
Чтобы создать Zip-архив каталога, вы должны использовать:
Вы также можете добавить несколько файлов и каталогов в один архив:
Методы и уровни сжатия
Чем выше уровень сжатия, тем интенсивнее процесс архивирования, и для его завершения потребуется больше времени.
Создание ZIP-файла, защищенного паролем
Вам будет предложено ввести и подтвердить пароль архива:
Создание разделенного Zip-файла
Представьте, что вы хотите сохранить Zip-архив на сервисе хостинга файлов, который имеет ограничение на размер загружаемого файла 1 ГБ, а ваш Zip-архив — 5 ГБ.
Приведенная выше команда продолжит создание новых архивов в наборе после достижения указанного предельного размера.
Примеры ZIP
Создайте Zip-архив с именем archivename.zip, содержащий все файлы в текущем каталоге.
То же, что и выше, включая скрытые файлы (файлы, начинающиеся с точки):
Создайте Zip-архив с именем archivename.zip содержащий все файлы MP3 в текущем каталоге, без сжатия файлов.
Выводы
Блог системного администратора Windows/Linux/FreeBSD
Архивирование с помощью zip в Debian/Ubuntu/Linux. Архиватор zip.
Unzip не всегда установлена по умолчанию в Linux, поэтому есть вероятность того, что вам придётся доустанавливать её самостоятельно из официальных репозиториев, это не трудно. Когда вы установите unzip, все утилиты для работы с архивами смогут без проблем распаковать архив zip.
Если архиватор Zip не установлен в вашей системе, установим:
Как добавить в архив zip папку с файлами:
Для распаковки архивов Zip используйте команду unzip, можно использовать её без каких-либо опций, распаковка в таком случае будет произведена в текущую директорию:
Как распаковать определённые файлы из архива? Перечислите их через пробел:
Пример создания архива. Заархивируем все файлы и папки в директории /var/log/ и директорию /var/spool/:
Похожие записи:
Архивирование с помощью zip в Debian/Ubuntu/Linux. Архиватор zip. : 6 комментариев
Как сделать, чтобы созданный командой zip архив, содержащий кириллические имена файлов, читался в windows?
Не знание принципов работы в терминала не освобождает от последствий при работе с ним.
Уважаемый, пожалуйста обратите внимание Что архив будет создан в той директории в которой вы находились при выполнении данной команды.
То есть, если ты сначала выполнишь команду
cd /home/zashel/kuda_nibud/dir
А почему сначала имя создаваемого архива, а потом перечисление файлов, а в мануале наоборот? Научитесь излагать мысли (при наличии таковых)
Учитесь базовым принципам работы с компьютером. Наплодилось бездарей никчемных, которые кроме понрхаба через VPN ничего не могут.
Архивирование файлов в Linux
В наши дни мы сталкиваемся с файлами архивов очень часто и на всех платформах: Windows, Mac или Linux. Это могут быть программы, резервные копии систем или баз данных или просто архив файлов. Нам также часто приходится создавать свои архивы в Linux, чтобы передать несколько файлов друзьям или загрузить на файлообменник. В виде архивов распространяются пакеты программ, исходные коды, а также много других файлов, распространяемых на просторах интернета. Научиться выполнять архивирование файлов в Linux через терминал очень важно, возможно это вам понадобиться, когда не будет доступа к графическому интерфейсу, или просто со временем в терминале станет более приятно работать.
Архивирование в Linux
Самой популярной для Linux утилитой для архивации есть tar. Она используется почти везде, для архивации исходников, упаковки пакетов. Для сжатия используются другие утилиты, в зависимости от алгоритма сжатия, например, zip, bz, xz, lzma и т д. Сначала выполняется архивация, затем сжатие, отдельными программами. Автоматический запуск некоторых утилит сжатия для только что созданного архива поддерживается в tar и других подобных программах с помощью специальных опций.
Также полезной возможностью архивации есть шифрование. Но теперь давайте рассмотрим какие существуют утилиты, с помощью которых выполняется архивирование файлов linux и как ими пользоваться.
$ tar опции f файл_для_записи /папка_файлами_для_архива
А теперь разберем основные опции:
Теперь давайте рассмотрим архивирование файлов в Linux. Чтобы создать архив используйте такую команду:
А чтобы распаковать архив tar linux:
Например, рассмотрим как заархивировать папку в Linux:
Хотя можно поступить по-другому, тот же архив мы получим если сначала создать обычный архив с помощью tar, а потом сжать его утилитой для сжатия, только здесь мы получаем больше контроля над процессом сжатия:
Также можно убрать сжатие:
Утилиты сжатия мы рассмотрим ниже.
Чтобы добавить файл в архив используйте:
Для извлечения одного файла синтаксис тот же:
Можно извлечь несколько файлов по шаблону соответствия с помощью параметра wildcard, например, извлечем все php файлы:
Стандартную утилиту рассмотрели, теперь кратко рассмотрим ее альтернативы. Их не так много, и большинство из них уже устаревшие.
Shar позволяет создавать самораспаковывающиеся архивы. По сути, это скрипт оболочки, и для распаковки ему необходима оболочка Bash или другая совместимая с Bourne Shell. У Shar есть несколько преимуществ, но также он потенциально небезопасный, так как архив представляет собой исполняемый файл.
Примеры использования shar для того чтобы заархивировать папку linux:
Создаем shar архив:
shar file_name.extension > filename.shar
Распаковываем shar архив:
Теперь рассмотрим примеры использования. Создадим статическую библиотеку libmath.a из объектных файлов substraction.o и division.o:
ar cr libmath.a substraction.o division.o
Теперь извлечем файлы из архива:
Таким образом, можно распаковать любую статическую библиотеку.
Пример использования. Создаем cpio архив:
file1.o file2.o file3.o
Архивирование папки linux выполняется также само.
Сжатие архивов в Linux
Как создать архив в linux рассмотрели. Теперь давайте поговорим о сжатии. Как я говорил, для сжатия используются специальные утилиты. Рассмотрим кратко несколько из них
$ gzip опции файл
$ gunzip опции файл
Теперь разберем опции:
Примеры использования вы уже видели в описании утилиты tar. Например, выполним сжатие файла:
А теперь распакуем:
Но чтобы сжать папку в Linux вам придется сначала заархивировать ее с помощью tar, а уже потом сжать файл архива с помощью gzip.
Описывать опции bzip2 я не буду, они аналогичны gzip. Чтобы создать архив в Linux используйте:
В текущем каталоге будет создан файл file.bz2
Новый и высокоэффективный алгоритм сжатия. Синтаксис и опции тоже похожи на Gzip. Для распаковки используйте unlzma.
Еще один высокоэффективный алгоритм сжатия. Обратно совместимый с Lzma. Параметры вызова тоже похожи на Gzip.
Кроссплатформенная утилита для создания сжатых архивов формата zip. Совместимая с Windows реализациями этого алгоритма. Zip архивы очень часто используются для обмена файлами в интернете. С помощью этой утилиты можно сжимать как файлы, так и сжать папку linux.
$ zip опции файлы
$ unzip опции архив
Чтобы создать Zip архив в Linux используйте:
Как видите архивирование zip в Linux не сильно отличается от других форматов.
Выводы
Как архивировать файлы в Linux [zip]
Zip является одновременно архиватором и утилитой сжатия, поэтому мы можем использовать его для архивирования, сжатия и распаковки файлов и каталогов в Unix-подобных операционных системах. Эта утилита совместима с zip-приложениями Windows и других ОС. Тем не менее, tar с gzip и bzip2 является преобладающей утилитой для сжатия. Теперь давайте посмотрим, как архивировать файлы и каталоги в Linux с помощью zip.
Установка
Zip предустановлена в некоторых дистрибутивах Linux. Вы можете установить ее вручную с помощью менеджера пакетов по умолчанию.
RHEL, CentOS, Fedora:
Debian, Ubuntu, Linux Mint:
Теперь посмотрим несколько примеров.
Создание архива
Создадим архив с именем archive.zip из файлов file1, file2 и file3. Вам не обязательно использовать расширение .zip в имени архива, я добавил его для ясности.
Чтобы архивировать директорию рекурсивно, нужно указать флаг -r, иначе вы добавите только родительский каталог.
В отличие от утилиты tar, zip создает архив и сжимает его по умолчанию.
Создание архива из нескольких каталогов и файлов одновременно
Иногда может потребоваться создать архив из группы файлов и папок. Для этого выполните:
Вышеупомянутая команда создает архив с именем archive.zip из каталога mordeniuss и группы файлов, а именно file1, file2, file3.
Добавление файлов в существующий архив
Если вы укажите уже существующий архив, то он просто обновится:
Это заметное преимущество zip перед утилитой tar.
Распаковка архива
Распаковывать архивы так же просто, как и создавать их:
Вы также можете выборочно извлечь из каталога определенный файл или папку. Например, следующая команда извлекает файл file4 из архива.
Список содержимого архива, не распаковывая его
Чтобы просмотреть содержимое, используйте флаг -l.
Создание зашифрованного архива
Еще одна примечательная особенность команды zip заключается в том, что она позволяет нам создавать зашифрованный архив. Пользователям необходимо будет вводить пароль, чтобы извлечь или просмотреть содержимое архива.
Чтобы создать зашифрованный архив, используйте флаг -e.
При распаковке или просмотре содержимого архива необходимо ввести правильный пароль.
Степень сжатия
Архивирование содержимого с наивысшей степенью сжатия:
Zip поддерживает 9 уровней сжатия, как указано ниже:
Исключить файлы при создании архивов
Мы можем исключить ненужные файлы или подкаталоги при создании архива. Для этого используйте флаг -x, как показано ниже:
Эта команда создаст архив каталога mordeniuss, но исключит файл image.jpg из архива.
Вы можете убедиться в этом, проверив содержимое:
Удалить файлы из существующего архива
Возможно, вы забыли исключить ненужные файлы при создании архива. Без проблем! Вы можете удалить эти файлы после.
Чтобы удалить ненужные файлы из существующего архива, используйте флаг -d, как показано ниже.
Аналогично, чтобы удалить группу файлов одного типа, например формата .txt, используйте: