как сделать zip архив linux
Создание и распаковка архивов в Linux
В случае с Linux VPS на базе OpenVZ и KVM для работы с архивами достаточно базовых компонентов системы, а именно Tar, Gzip и Bzip2, которые при создании сжатого архива работают как единое целое, т.к. сам по себе архиватор Tar не предусматривает возможность сжатия данных. Для этой цели как раз и используется Gzip или Bzip2. Архивы, созданные с применением Gzip, обычно имеют расширение .tar.gz, а при использовании Bzip2 — .tar.bz2.
Содержание
Создание tar-архива без сжатия
Для создания такого архива используется команда:
Параметр —cf отвечает за создание архива filename.tar, в который войдут указанные файлы. Вместо файлов могут быть указаны и директории.
Создание архива с использованием сжатия
Поскольку для сжатия доступны как минимум два метода, для использования каждого из них используется отдельный набор параметров.
Пример сжатия Gzip:
В данном случае мы попытались запаковать папку dir_name в архив filename.tar.gz. Из указанных параметров -z указывает на использование метода Gzip, а -v выводит результаты процесса создания архива с указанием упакованных файлов или папок.
Пример сжатия Bzip2:
Данная команда аналогична предыдущей и имеет отличие в параметре –j, т.к. именно он отвечает за использование метода сжатия Bzip2.
Распаковка архива
Для того, чтобы распаковать архив, используется команда:
В данном случае архив filename.tar.bz2 будет распакован в ту папку, в которой вы находились в момент запуска команды. Для того, чтобы распаковать архив в какую-либо другую директорию, можно использовать команду:
В этом случае архив распакуется в указанной директории.
Просмотр содержимого архива без распаковки
Для этих целей используется следующая команда:
В результате выполнения команды выведется список файлов и папок, хранящихся в архиве. Если в перечень параметров добавить -v, то получится расширенный вывод информации о содержимом с указанием размера файлов, прав доступа, именами владельцев и их групп, и т.п.
Просмотреть полный список возможностей архиватора tar можно при помощи команд:
Создание и распаковка ZIP-архивов
Создание zip-архива выполняется командой:
Вместо archive.zip указываем имя создаваемого архива. Вместо filename указываем имя файла, который нужно архивировать. Для архивации целой папки необходимо использовать параметр –r, который инициирует рекурсивное архивирование. Без этого параметра будет заархивирована только папка без вложенных в неё файлов. Пример команды:
Распаковка архива производится командой unzip:
Если необходимо распаковать в конкретную папку, то для этого используется параметр –d. Например:
Вместо dirname указывается папка, в которую нужно извлечь данные из архива.
Просмотреть полный список возможностей архиватора zip и unzip можно при помощи команд:
Распаковка RAR-архивов
Для извлечения содержимого архива используется команда unrar:
Посмотреть список файлов в архиве без его распаковки можно командой:
Примечание: Стоит отметить, что Unrar может отсутствовать по умолчанию в некоторых Linux-дистрибутивах. Установить данное ПО можно следующими командами:
CentOS/Fedora:
Debian/Ubuntu:
Просмотреть полный список возможностей архиватора unrar можно при помощи команд:
Пример создания резервной копии данных на VPS
Допустим, на VPS необходимо сделать резервную копию файлов сайта, которые располагаются в директории /var/www/html/mysite. Чтобы создать сжатый архив данных, расположенных в указанной директории, необходимо выполнить следующую команду:
В результате содержимое директории /var/www/html/mysite будет запаковано в архив mysite.tar.gz.
Если вы хотите перенести подобный архив с одного VPS на другой, но не знаете, как это сделать, то об этом вы можете узнать в статье Способы переноса файлов между серверами.
Как архивировать файлы в 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, используйте:
Как архивировать файлы в Ubuntu: подробное руководство
ZIP является наиболее популярным и эффективным форматом архивных файлов. Он совместим с любой платформой, включая Linux, Windows и другими операционными системами на базе UNIX. Так как он широко используется, вы часто столкнетесь с zip-файлами. И для работы с zip-файлами вам необходимо очень хорошо знать, как работать с ними. Если вы новичок в Linux и не знаете, как архивировать и распаковывать zip-файлы на Ubuntu, то это краткое и простое руководство для вас. В этом руководстве я покажу вам все доступные способы (как с помощью терминала, так и с помощью графического интерфейса) архивирования и разархивирования файлов на Ubuntu Linux.
Архивирование и распаковка файлов в Ubuntu
В данной статье мы используем версию Ubuntu 20.04 LTS. Хотя руководство будет работать точно так же для любой версии Ubuntu. Для решения этой задачи нам необходимо проверить, есть ли в системе предустановленный zip. В большинстве случаев она установлена. Если его нет, то его можно установить следующей командой. Откройте терминал и выполните команду:
Эта команда установит необходимые для наших задач программы.
1. Архивация с помощью командной строки
Используйте команду zip для архивации файлов из терминала. Формат ее выглядит следующим образом:
Команда будет выполнена так же, как и раньше. Здесь мы архивировали два файла с папкой в файл newzip1.zip.
2. Архивация с помощью графического интерфейса
Вы можете добавлять файлы в архивы с помощью графического интерфейса. Системы Linux предоставляют отличный графический интерфейс для более простой работы. Прежде всего, перейдите в каталог файлов, которые нужно заархивировать. Затем выделите файлы с помощью ctrl и щелкните правой кнопкой мыши, чтобы увидеть контекстное меню. Выберите пункт Сжать.
После щелчка по по этому пункту меню появится всплывающее окно.
3. Распаковка архива с помощью командной строки терминала
Чтобы распаковать архивный файл, перейдите в целевую директорию. Затем вам просто нужно использовать команду unzip. См. ниже
Повторяющиеся файлы будут автоматически заменены. Это потому, что мы распаковываем zip-файл в одну папку с файлами. Введите A, чтобы распаковать все. Если вы хотите распаковать файлы в другой каталог, команда будет выглядеть следующим образом:
4. Распаковка архива с помощью графического интерфейса
Чтобы сделать это в графическом интерфейсе системы, вы должны открыть папку, где хранятся zip-файлы. Выберите файл, нажмите по нему правой кнопкой мыши и выберите Извлечь в. Сделайте все в точности, что указано на рисунке ниже:
Чтобы распаковать файл в выбранную директорию, используйте следующий формат команды:
Затем выполните следующую команду:
Если в вашей системе есть GNU tar, вы можете извлечь файл непосредственно одной командой:
Эта команда покажет содержимое файла:
Теперь напишите выполните это для извлечения файла:
9. Распаковка файлов, используя Python Script
Если вы не хотите вручную ничего устанавливать для извлечения файлов, вы можете использовать для этого скрипты. Скриптовый язык Ubuntu Python поставляется со всеми необходимыми модулями, которые также предлагают функционал распаковки архивов. Следующий скрипт может быть использован при распаковке zip-файла.
Затем выполните следующую команду, чтобы запустить этот сценарий и распаковать файлы.
10. Распаковка файлов, используя Perl Script
Perl также является скриптовым языком для Linux и предлагает похожие модули, как Python выше. Этот простой Perl скрипт позволит вам распаковать файлы. Просто вставьте этот код и сохраните, например, под названием perlunzip.pl:
Затем напишите эту команду для извлечения ваших zip-файлов.
В заключение
Этим мы заканчиваем наше руководство. В нем мы попытались описать все возможные способы архивирования и разархивирования файлов в Ubuntu. Утилита командной строки пригодится при работе с удаленным сервером. Формат пользовательского интерфейся прост и доступен из контекстного меню, чтобы сделать приятной работу в Linux пользователям windows и macOS.
Если вы не хотите больше ничего устанавливать для распаковки файлов, вы также можете написать сценарии на Python или Perl, чтобы сделать эту работу автоматически. Мы показали примеры скриптов для поставленной задачи.
Надеюсь, что этого руководства будет достаточно. Если я пропустил что-нибудь, пожалуйста, дайте мне знать в комментариях. Счастливого обучения!
Создаем 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 в текущем каталоге, без сжатия файлов.