Linux zip распаковать многотомный архив

📑 Шпаргалка по архиватору 7z (7-Zip) в Linux Ubuntu/Mint

7-Zip является архиватором файлов с наивысшей степенью сжатия, с открытым исходным кодом.

Первоначально она была разработана для Windows. Портированная на Linux 7zip также часто используется для извлечения DEB, RPM и ISO файлов.

Кроме простого архивирования, 7zip может поддерживать шифрование AES-256, а также самораспаковывающиеся и многотомные архивы.

Программа поддерживает 7Z (реализующий алгоритм сжатия LZMA), LZMA2, XZ, ZIP, Zip64, CAB, RAR (если установлен несвободный пакет p7zip-rar), ARJ, GZIP, BZIP2, TAR, CPIO, RPM, ISO, большинство образов файловой системы и форматов DEB.

Степень сжатия в новом формате 7z на 30-50% лучше, чем в формате ZIP. 7Z использует плагины для обработки архивов.

Установка программы 7Z в Linux Ubuntu/Mint

В стандартных репозиториях Linux Ubuntu и Mint присутствуют три пакета, относящиеся к 7Z:

  • p7zip: включает 7zr (минимальный инструмент архивирования 7zip), который может работать только с родным форматом 7z.
  • p7zip-full: содержит 7z, который может поддерживать 7z, LZMA2, XZ, ZIP, CAB, GZIP, BZIP2, ARJ, TAR, CPIO, RPM, ISO и DEB.
  • p7zip-rar: содержит плагин для извлечения файлов RAR.

Рекомендуется установить пакет p7zip-full (а не p7zip), поскольку это наиболее полный пакет 7Z, который поддерживает много различных архивных форматов.

Если вы намереваетесь извлекать файлы RAR, вам также нужно установить пакет p7zip-rar. Поддержка вынесена в отдельный пакет плагина потому, что RAR — это проприетарный формат.

$sudo apt install p7zip-full p7zip-rar

Синтаксис программы 7z

Основные команды программы 7Z

  • a: добавить файлы в архив, если архивного файла не существует, создает его.
  • b: эталонный тест системы средствами 7Z
  • d: удалить файлы из архива
  • e: извлечение файлов из архива без использования имен каталогов — все файлы оказываются в текущей директории
  • l: вывести список содержимого архива
  • rn: переименование файла внутри архива
  • t: проверка целостности архива
  • u: обновление файлов в архиве, если файла нет, создает новый
  • x: eXtract файлы с полными путями

Основные ключи команды 7Z

  • -t: тип архива, по умолчанию создаются файлы в формате 7z. Примеры, -tzip, -tgz
  • -ssw: включить файл в архив, даже если он в данный момент используется
  • -mx: уровень компрессии (0 — без компрессии-быстро, 9 -самая большая компрессия-медленно)
    • -mx0 — без компрессии
    • -mx1 — очень быстрая компрессия
    • ——
    • -mx9 — ультра компрессия

    Посмотреть все команды 7Z можно командой:

    Чтобы посмотреть полную документацию(Англ.):

    file:///usr/share/doc/p7zip-full/DOCS/MANUAL/index.htm

    Примеры основного использования программы 7Z

    Создание архива

    Для создания архива используется команда a. Поддерживаемые форматы архивов для создания: 7Z, XZ, GZIP, TAR, ZIP и BZIP2. Если данный файл архива уже существует, он будет добавлять файлы в существующий архив, если нет — создаст. По умолчанию создается архив 7Z.

    Для упаковки в архив archive.7z файлов file01.c и file02.c в директории /home/user_name/

    cd /home/user_name/ 7z a archive.7z file01.c file02.c

    Для упаковки в архив archive.7z всего содержимого директории /home/user_name/

    cd /home/user_name/ 7z a archive.7z

    Файл archive.7z будет создаваться в текущей директории /home/user_name/.

    Чтобы выбрать формат архива, нужно использовать опцию (ключ) -t (format name), которая позволит вам выбрать формат архива, такой как zip, gzip, bzip2 или tar

    Создать архив с максимальной степенью сжатия

    Создать архив всех файлов за исключением файла file01.c

    7z a -mx9 archive.7z -xfile01.c

    Установить пароль на файл архива, например password

    7z a -mx9 -ppassword archive.7z -xfile01.c

    Посмотреть содержимое архива

    Распаковка архива

    Для распаковки архивов используются команды a и x

    Для извлечения содержимого из архива arch.7z в текущую директорию, выполните в терминале:

    Этом случае все файлы распакуются в текущую директорию без сохраненных путей. Чтобы распаковать файлы из архива с структурой директорий

    Если архив разбит на множество частей, используйте имя с наименьшим номером тома:

    Если вы хотите извлечь архив не в текущей диретории, вы можете явно задать целевую директорию с помощью опции -o

    7z x arch.7z -o/home/user_name/allarhives

    Команда b измеряет скорость процессора и проверяет оперативную память на наличие ошибок.

    Тест показывает рейтинг в MIPS (миллион инструкций в секунду). Значение рейтинга рассчитывается по измеренной скорости процессора и нормализуется по результатам работы процессора Intel Core 2 с отключенной опцией многопоточности. Так что, если у вас Intel Core 2 Duo, номинальные значения должны быть близки к реальной частоте процессора.

    • Альтернативы SSH, которые в некоторых случаях лучше оригинала
    • Полный набор лучших и современных консольных программ для Linux
    • Хитрости командной строки Bash, которые помогут вам работать быстрее
    • Команда ls в Linux — подробно и с примерами
    • Команда mkdir в Linux — подробно и с примерами
    • Команда chmod в Linux — подробно и с примерами
    • Команда cat и примеры её использования в Linux
    • Файловый менеджер nnn
    • Версия системы и версия ядра Ubuntu/Mint
    • Ошибка NO_PUBKEY. Как найти GPG-ключ и добавить его в базу apt системы Ubuntu
    • nmon — удобный инструмент для мониторинга Linux систем
    • Команда history или работа с историей введенных команд
    • Шпаргалка по архиватору 7z (7-Zip) в Linux Ubuntu/Mint
    • Как посмотреть все доступные шрифты в терминале (CLI)?
    • Команда id — найти UID пользователя или GID
    • nmblookup — аналог команды Windows nbtstat для Linux.
    • Inxi — программа вывода информации о системе и железе в Linux
    • dnstop — мониторинг и анализатор DNS-трафика
    • ss — программа для исследования сокетов
    • Команда netstat в Ubuntu — показ статуса сети
    • Команда ifconfig — настройка параметров сетевого интерфейса
    • Почему в меню загрузки ubuntu нет memtest86
    • Ethtool — программа изменения параметров сетевой платы в Ubuntu/Mint
    • Установка сервера точного времени NTP в Ubuntu 16.04
    • Удаление файлов старше N дней
    • Блокирование атак при помощи null route или blackhole
    • Расширенный менеджер пакетов APT
    • Архиватор tar
    • Шпаргалка по архиватору zip
    • Блокирование ip адреса при помощи iptables
    • Программа iftop
    • Top – сведения об активности процессов в Ubuntu
    • i-Nex — аналог CPU-Z в Windows
    • Защита сервера — Fail2Ban

    Источник

    Linux zip распаковать многотомный архив

    Краткая памятка по работе с архиваторами (программами управления файловыми архивами) из консоли в Linux.

      В двух словах о самом формате tar

    http://ru.wikipedia.org/wiki/Tar писал(а): . в настоящее время tar используется для хранения нескольких файлов внутри одного файла, для распространения программного обеспечения, а также по прямому назначению — для создания архива файловой системы.

    где foo.tar имя которое будет присвоено полученному архиву, а «./» указание папки

    А для распаковки этого архива будем использовать

    -A, —catenate, —concatenate
    склеить файлы tar в один архив

    -c, —create
    создать новый архив

    -d, —diff, —compare
    найти различия между архивом и файловой системой

    —delete
    удалить из архива (не применяется к магнитным лентам!)

    -r, —append
    добавить файлы в конец архива

    -t, —list
    показать содержимое архива

    -u, —update
    добавить только новые версии файлов файлов

    -x, —extract, —get
    извлечь файлы из архива

    -j, —bzip2
    используется для создания/распаковки .bz2 файлов

    -z, —gzip, —ungzip
    используется для создания/распаковки .gz файлов

    -M, —multi-volume
    создать/показать/распаковать многотомный архив

    Другие не менее интересные опции этой очень важной команды можно найти в руководстве пользователя — man tar.

    tar -czvf - --exclude=www/test --exclude='*.zip' /var/www/ | split -b 1024m - ./backup.tar.gz

    («-» после -czvf говорит tar’у выводить в stdout, чтобы потом split мог его разбить на части(а «-» в split говорит ему брать из stdin)) В результате будут созданы файлы backup.tar.gzaa, backup.tar.gzab, backup.tar.gzac . размер каждого 1024 Мб. Именно последние две буквы в названии архива .tar.gzaa, .tar.gzab и т.д., указывают на то, что он разбит на части.

    Склеить все части можно командой

    cat часть1 часть2 часть3 > архив.tar.gz
    cat backup.tar.gzaa backup.tar.gzab backup.tar.gzac > backup.tar.gz
    cat backup.tar.* > backup.tar.gz

    в результате будут созданы файлы arch.7z.001 arch.7z.002 arch.7z.003 . размер каждого 100 Мб (опция -v100m).

    Чтобы распаковать многотомный архив arch.7z.001, достаточно поместить все части архива в текущую папку и дать команду

    unrar e -p"Пароль" archive.rar

    между вашим паролем и ключем -p не должно быть пробелов, в кавычки надо брать если в пароле используется например дефис или другой системный символ

    создание и распаковка архива с паролем через 7zip

    7za a -mhe=on -ms=on -p Documents.7z Documents/

    Источник

    Как разархивировать многочастный (составной) ZIP на Linux?

    Мне нужно загрузить файл 400 МБ на мой веб-сервер, но я ограничен загрузкой 200 МБ. Мой хост предложил мне использовать составной архив, чего я никогда не делал в Linux.

    Я создал тест в своей папке, сжать вверх PDF в test.zip.001 , .002 и .003 . Как мне разархивировать его? Нужно ли сначала присоединиться к ним?

    Обратите внимание, что я буду так же рад использовать 7z, как и форматы ZIP. Если это имеет какое-либо значение для результата.

    Это может быть бесполезно на веб-сервере с установленным ограниченным программным обеспечением, но я нигде не видел этого решения, и именно это я использую: API java.util.zip работал со всеми ZIP-частями, которые я выбрасывал. даже в более общем случае отсутствия задних частей или неполной последней части. Я звоню из Jython, так что это в форме скрипта, и вот код: github.com/combatopera/unzipparts

    Сначала вам нужно присоединиться к ним. Вы можете использовать обычное приложение linux, cat как в примере ниже:

    Это сцепить все ваши test.zip.001 , test.zip.002 и т.д файлов в один большой, test.zip файл. Если у вас есть этот единственный файл, вы можете запустить unzip test.zip

    Хорошо, мне это нравится . Прогресс . Но я действительно Linux n00b здесь. Я полагаю, x* это имя файла? И ~/hugefile это каталог? Какова цель символа тильды? Извините, что спрашиваю, что я подозреваю, это очень простые вопросы.

    когда вы разделяете файлы, вы должны использовать префикс, такой как x_ (например: x_split1, x_split2, . ; как и суффиксы Windows file.001, file.002 . и т. д.), тильда представляет ваш домашний каталог. ~ / огромный файл — это то же самое, что и / дом / Тим / огромный файл. ты разделил свои файлы? что такое имена разделенных файлов?

    Я думаю, я вижу, где проблема возникнет, Spanned архив был создан в Windows, используя 7zip с расширением ZIP, так что он автоматически создает как TEST.zip.001 , TEST.zip.002 и TEST.zip.003 это означает, что разделение сильно отличается. Начинает казаться, что может быть проще добавить Linux на VMWare и создавать файлы здесь, тогда, по крайней мере, я имею дело только с 1 ОС. Вы можете использовать команду SPLIT для ЛЮБОГО типа файла? то есть изображения, аудио фильмы и т. д.?

    да, команда split работает с любым файлом. установить p7zip с помощью apt-get установить p7zip в Debian или yum установить p7zip в fedora, объединить файлы с помощью: cat TEST.zip. *> и распаковать их.

    unzip Утилита Linux на самом деле не поддерживает составные почтовые индексы. Из руководства :

    Многокомпонентные архивы пока не поддерживаются, кроме как в сочетании с zip. (Все части должны быть соединены вместе по порядку, а затем zip -F (для zip 2.x) или zip -FF (для zip 3.x) должны быть выполнены для объединенного архива, чтобы «исправить» его. Кроме того, zip 3.0 и более поздние версии могут объединяться многочастные (разделенные) архивы в объединенный однофайловый архив с использованием zip -s- inarchive -O outarchive . Для получения дополнительной информации см. справочную страницу zip 3. )

    Таким образом, вам нужно сначала соединить части, а затем восстановить результат. cat test.zip.* объединяет все файлы, вызываемые test.zip.* там, где подстановочный знак * обозначает любую последовательность символов; файлы нумеруются в лексикографическом порядке, который совпадает с числовым порядком благодаря нулям в начале. >test.zip направляет вывод в файл test.zip .

    cat test.zip.* >test.zip zip -FF test.zip --out test-full.zip unzip test-full.zip 

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

    cat test.zip.* >test.zip unzip test.zip 

    Источник

    Читайте также:  Linux c write stdout
Оцените статью
Adblock
detector