Разделить zip архив linux

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

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

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

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

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

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 .

Читайте также:  How to read syslog linux

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

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

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 содержащий все файлы MP3 в текущем каталоге, без сжатия файлов.

Выводы

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

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

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

Источник

Как разделить zip-архив на несколько блоков определенного размера

При сжатии больших файлов на Система Linux , может быть удобно разделить их на несколько блоков определенного размера. Это особенно верно для сжатия большого архива на несколько дисков или загрузки большого архива в онлайн по частям.

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

В этом руководстве мы увидим пошаговые инструкции по созданию zip-архива, разделенного на несколько блоков. Мы также рассмотрим процесс распаковки разделенного архива.

В этом уроке вы узнаете:

Объединение файлов в разделенный zip-архив

Объединение файлов в разделенный zip-архив

Требования к программному обеспечению и условные обозначения командной строки Linux
Категория Требования, условные обозначения или используемая версия программного обеспечения
Система Любой Дистрибутив Linux
Программного обеспечения zip, unzip
Другой Привилегированный доступ к вашей системе Linux с правами root или через судо команда.
Читайте также:  Heap memory in linux

Разделить zip-архивы на несколько блоков

Чтобы разделить zip-архивы на несколько файлов, мы будем использовать -s (splitsize) вариант застегивать команда. Перед использованием утилиты zip необходимо убедиться, что она установлена ​​в вашей системе. Вы можете ознакомиться с нашим руководством на как использовать zip в Linux за помощь с этим.

Давайте посмотрим на пример. Эта команда разделит сжатый zip-архив на блоки по 5 МБ:

$ zip -r -s 5m myfiles.zip example-dir /

Объединение файлов в разделенный zip-архив

Объединение файлов в разделенный zip-архив

В нашем примере мы разбиваем три больших текстовых файла на zip-архивы размером 5 МБ. Как видите, файлы имеют такие имена, как:

$ ls myfiles * myfiles.z01 myfiles.z02 myfiles.z03 myfiles.z04 myfiles.z05 myfiles.zip.

В нашей команде -р вариант для рекурсии, который нам нужен для архивирование каталога . В -s Опция, как уже говорилось, разбивает zip-архив на файлы заданного размера. В нашем случае мы использовали 5 мегабайт, но вы можете заменить любое число на свое усмотрение.

Открытые разделенные zip-архивы

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

Во-первых, используйте застегивать команда для объединения разделенных zip-файлов в один zip-архив. В приведенном ниже примере мы объединяем myfiles.zip архивы в single-archive.zip .

$ zip -F myfiles.zip --out single-archive.zip.

Объединение разделенных zip-архивов в один zip-файл

Объединение разделенных zip-архивов в один zip-файл

Теперь мы можем использовать распаковать открыть наш объединенный архив.

Заключительные мысли

В этом руководстве мы увидели, как создавать zip-архивы в Linux и разбивать их на несколько блоков определенного размера. В застегивать Команда в Linux достаточно надежна, чтобы включать эту опцию, поэтому разделение архивов и их последующее объединение становится очень простым, если вы знаете, какие опции использовать.

Подпишитесь на новостную рассылку Linux Career Newsletter, чтобы получать последние новости, вакансии, советы по карьере и рекомендуемые руководства по настройке.

LinuxConfig ищет технических писателей, специализирующихся на технологиях GNU / Linux и FLOSS. В ваших статьях будут представлены различные руководства по настройке GNU / Linux и технологии FLOSS, используемые в сочетании с операционной системой GNU / Linux.

Ожидается, что при написании статей вы сможете идти в ногу с технологическим прогрессом в вышеупомянутой технической области. Вы будете работать самостоятельно и сможете выпускать как минимум 2 технических статьи в месяц.

Основы навигации по файловой системе Linux

Основы навигации по файловой системе Linux

В этой статье объясняются основные команды для навигации в файловой системе Linux. На диаграмме ниже представлена ​​(часть) файловой системы Linux, известной как Стандарт иерархии файловой системы. Линия от одного узла к узлу справа указывает на в.

Как получить доступ к страницам руководства для команд Linux

Как получить доступ к страницам руководства для команд Linux

Обычно при написании команды — как простой, так и сложной — захочется получить доступ к более подробной информации о команде и ее доступных параметрах. На страницах справочника Linux имеется обширная информация, которая предоставляется бесплатно и.

Читайте также:  Устройство не управляется alt linux

Mint 20: лучше, чем Ubuntu и Microsoft Windows?

Mint 20: лучше, чем Ubuntu и Microsoft Windows?

Как давний пользователь Microsoft Windows, Fedora, Ubuntu и Linux Mint, я видел некоторые из наиболее запутанных истерик, которые может вызвать операционная система Windows или Linux. Моя первая установка Mint 20 была в начале апреля 2020 года, ещ.

Источник

Как разделить zip-архив на части при создании [Linux]

Есть большие папки (заведомо больше 2Гб, что является пределом для размера зип-архива по спецификации). Нужно их заархивировать, причем, создав многотомный архив (размеры частей по 500МБ, например).
Весь man zip перечитал — ничего похожего не увидел. zipsplit разбивает на части уже готовый архив (но я не смогу создать его >2ГБ, чтобы потом разбить).
Другие форматы архивов не подходят по многим причинам.
Есть выход из этой проблемы?
Если важно, debian lenny.
Спасибо.

Пишу примерно следующее (1 — это папка, в которой лежат нужные для архивирования файлы)
tar -v -c -M —tape-length=512000 —file=archive-part1.tar 1/
В таком случае он создает архив archive-part1.tar просит вставить следующий том и ввести имя. Как-то можно его попросить делать это автоматически и сгенерить имя вроде archive-part2.tar? Скрипт этот по крону будет запускаться, нужно его автоматизировать.

Попробуйте 7-zip (пакет p7zip, там есть опция -vXXm как раз разбиение на многотомник, но только для своего формата 7z(!), в zip эта фича не поддерживается, недоделан он там).
Из плюсов очень богатый функционал и многоплатформенность, так что может быть подойдет, см. man 7zr

Не, 7zip не подходит по двум причинам — во-первых, очень медленный, по сравнению с зипом ( zenux.ru/media/other/Сравнение_архиваторов_Linux__26-03-2010-14-13-22.gif ) — у меня именно медиа-файлы. Во-вторых, требует софта на клиенте, а зип открывается на всех чистых клиентских системах (winXP+, linux, macos). Плюс, в зипе платформонезависимая кодировка имен файлов

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

Другой вариант если файлы достаточно мелкие, набирать объем списком из Н-файлов (например, 100 файлов по 45 мб), но это придется повозиться с реализацией в шелл-скрипте, опять же при условии что размер 1-го файла не превысит лимит в 2 гига.

Да, я и так ставлю степень сжатия 0, мне не сжатие нужно, а чтобы клиент мог скачать все файлы одним архивом. Впрочем, тут проблема больше в клиентском софте — не хочется навязывать ставить еще специфический архиватор.

Источник

Оцените статью
Adblock
detector