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

Обычно "обычные пользователи" являются идентификатором назначенного пользователя> = 1000. Если это верно, в Вашей системе, затем следующее могло работать:

awk -F: '{if ($3 > 999) print $1}' /etc/passwd
76
12.06.2012, 01:38
8 ответов

Необходимо будет присоединиться к ним сначала. Можно использовать общее приложение Linux, cat как в примере ниже:

cat test.zip* > ~/test.zip

Это свяжет весь Ваш test.zip.001, test.zip.002, и т.д. файлы в один больший, файл test.zip. После того как у Вас есть тот единственный файл, можно работать unzip test.zip

"Как создать, разделите, присоединитесь и извлеките архивы zip в Linux", может помочь.

78
27.01.2020, 19:31
  • 1
    OK, мне нравится этот... Прогресс... Но я действительно - Linux n00b здесь. Я принимаю x* имя файла? И ~/hugefile каталог? Какова цель символа тильды? Извините, что спросил, что я подозреваю, очень простые вопросы. –  Tim 11.06.2012, 05:54
  • 2
    при разделении файлов необходимо использовать префикс как x_ (исключая: x_split1, x_split2...; как файл 001 суффиксов окон, файл 002... и т.д.), тильда представляет Ваш корневой каталог. ~/hugefile совпадает с/home/tim/hugefile., Вы разделяли свои файлы? каковы имена файлов разделения? –  fromnaboo 11.06.2012, 05:59
  • 3
    я думаю, что вижу, где проблема войдет, Заполненный архив, был создан в окнах, с помощью 7zip с расширением ZIP, таким образом, это автоматический создает как TEST.zip.001, TEST.zip.002 и TEST.zip.003 что означает, что разделение очень отличается. Это начинает быть похожим на него, может быть легче к брошенному Linux на VMware и создать файлы здесь, затем по крайней мере, я только имею дело с 1 ОС. Можно ли использовать команду SPLIT на КАКОМ-ЛИБО типе файла? т.е. изображения, аудио фильмы и т.д.? –  Tim 11.06.2012, 06:03
  • 4
    да, команда разделения работает над любым файлом. установите p7zip с Кв. - получают установку p7zip на debian, или конфетка устанавливают p7zip на мягкой фетровой шляпе, присоединяются к файлам с: кошка TEST.zip.*> архивируют и извлекают их с. –  fromnaboo 11.06.2012, 06:05
  • 5
    7za x archive вероятно, лучше, если архив содержит структуру каталогов. –  slm♦ 25.01.2013, 18:50

Linux unzip утилита действительно не поддерживает многослойные zip. Из руководства:

Многослойные архивы еще не поддерживаются, кроме соединения с zip. (Все части должны быть связаны вместе в порядке, и затем zip -F (для zip 2.x) или zip -FF (для zip 3.x), должен быть выполнен на связанном архиве для “зафиксированного” его. Кроме того, архивируйте 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
39
27.01.2020, 19:31
  • 1
    2-я команда должна быть zip - FF test.zip - test-full.zip - даст Вам, ошибка без - управляет –  Alvin 11.08.2012, 07:49
  • 2
    2-я команда должна быть zip - FF test.zip - test-full.zip - даст Вам, ошибка без - управляет –  Alvin 11.08.2012, 07:49
  • 3
    Для меня, FF подход работал, если я указал zip в первый многослойный файл, нет cat необходимый. –  Jānis Elmeris 28.12.2014, 18:19
  • 4
    Как @JānisElmeris, уже упомянутый, никакая потребность связать архивы перед использованием zip -FF на них. –  René 05.01.2018, 15:32
[112260] я нашел ответ здесь: [112656]https://superuser.com/a/517758/10264
  • Этот ответ похож по концепции на [112658]-Жиль[112659], а именно сначала вы объединяете разделенный архив в обычный, используя сплит, а затем распаковываете его, используя unzip.
  • Разница в том, что вместо флага [112660]-FF[112661], который не сработал на меня, вы просто говорите zip переупаковать разделенный файл без сплиттинга. Вот что означает флаг [112662]-s 0[112663].

    %NapaDesc%=Napa_Inst,PCI\VEN_1002&DEV_4392
    %NapaDesc%=Napa_Inst,PCI\VEN_1002&DEV_4393
    

    Итак, сначала скомбинируйте разделенный архив в один:

    %NapaDesc%=Napa_Inst,PCI\VEN_1002&DEV_4392
    %NapaDesc%=Napa_Inst,PCI\VEN_1002&DEV_4393
    %NapaDesc%=Napa_Inst,PCI\VEN_1002&DEV_439C
    
    • Затем распакуйте один архив, используя unzip:

    20
    27.01.2020, 19:31

    С помощью zsh :

    $ echo ${${${=test}#*/}%%/*}
    2 5 8
    

    В противном случае можно выполнить следующие действия:

    $ printf '%s\n' "$test" | sed 's|[^ /]*/\([^/]*\)[^ ]*|\1|g'
    2 5 8
    
    -121--102582-

    Извлечь sslh . Это инструмент для мультиплексирования одного порта к нескольким службам. Как упомянул другой пользователь, поддомены разрешаются только на IP-адрес - фактическая маршрутизация происходит на уровне протокола.

    -121--123498-
    7z x archive.zip.001
    

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

    26
    27.01.2020, 19:31

    Я думаю, стоит упомянуть, что линейный инструмент unar command -может распаковывать Zip, unRar, un7zip, unTar и т. д., включая разделенные файлы, всего лишь:

    unar first_file
    

    https://directory.fsf.org/wiki/Unar#Details

    9
    27.01.2020, 19:31

    Для составного ZIP-файла, загруженного с Google Диска, я испробовал несколько описанных методов, но они не сработали (). Наконец-то я смог сделать это простым способом из терминала :распаковать имя файла.zip.001 когда закончите извлекать то же самое со следующей частью :распаковать имя файла.zip.002 и так далее...

    Другой вариант :7z x имя файла.zip.001 когда закончите извлекать то же самое со следующей частью :7z х имя файла.zip.002 и так далее...

    1
    27.01.2020, 19:31

    Если у вас есть большая коллекция файлов или просто очень большие файлы, эта сборка команд очень удобна, поскольку она дает вам индикатор выполнения:

     $ pv files.zip* | cat - > uberFile.zip
     25.0GiB 0:50:24 [8.48MiB/s] [============================================================>] 100%
     $ unzip uberFile.zip
    

    Только что использовал это для объединения и извлечения разделенного архива на 25 Гб.

    0
    02.04.2020, 16:35

    В Ubuntu 18.04 у меня работает следующее.

    • разбить сжатый файл на несколько архивов, размер каждого меньше 1024 МБ.
      zip -s 1024m -r target.zip target/
      
    • получить файлы :target.z01, target.z02,...,target.zip

    • перед распаковкой объедините их в один zip-файл

      zip -FF target.zip --out target-full.zip
      unzip target-full.zip
      
    • удалить все файлы.z *

      rm *.z*
      
    1
    28.04.2020, 02:28

    Теги

    Похожие вопросы