Восстановление zip архива linux

Обновлено: 04.07.2024

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

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

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

Сначала вам нужно присоединиться к ним. Вы можете использовать обычное приложение 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. *> и распаковать их. 7za x archive Вероятно, лучше, если архив содержит структуру каталогов.

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

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

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

В операционной системе Windows формат архивов ZIP считается чуть ли не стандартным, он даже поддерживается в этой операционной системе, что называется "из коробки". Если вы только перешли с Windows, то у вас, наверное, есть много таких архивов с различными файлами, также ZIP-архивы могут часто попадаться на просторах интернета. Поэтому работать с такими файлами в Linux вам однозначно придётся.

В этой небольшой статье мы рассмотрим, как распаковать ZIP Linux. Разберём несколько способов и воспользуемся несколькими утилитами, которые справятся с этой задачей.

Распаковка ZIP Linux

Формат ZIP был создан в 1989 году на замену очень медленному формату ARC. Здесь используется сжатие deflate, и на то время оно работало намного быстрее чем ARC. Исторически сложилось так, что стандартным форматом для Linux стали TAR и GZ - это усовершенствованные алгоритмы сжатия и архивации. Многие графические распаковки воспринимают и ZIP-файлы. Но они обрабатывают архивы не сами, а дают команду предназначенным для этого формата утилитам.

Утилита для распаковки ZIP называется unzip, она не всегда установлена по умолчанию. Но вы можете очень просто добавить её в свою систему из официальных репозиториев. Для этого в Ubuntu выполните:

sudo apt install unzip

А в системах, использующих формат пакетов Red Hat, команда будет выглядеть немного по-другому:

sudo yum install unzip zip

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

Но этой утилите не нужны дополнительные оболочки для распаковки архива. Вы можете сделать всё прямо из консоли. Давайте рассмотрим синтаксис утилиты:

$ unzip опции файл_архива.zip файлы -x исключить -d папка

  • файл архива - это тот файл, с которым нам предстоит работать;
  • файлы - здесь вы можете указать файлы, которые нужно извлечь, разделять имена файлов пробелом;
  • исключить - файлы, которые извлекать не нужно;
  • папка - папка, в которую будет распакован архив.

Теперь рассмотрим опции утилиты, поскольку она позволяет не только распаковывать архивы, но и выполнять с ними определённые действия:

  • -l - вывести список файлов в архиве;
  • -t - протестировать файл архива на ошибки;
  • -u - обновить существующие файлы на диске;
  • -z - вывести комментарий к архиву;
  • -c - извлекать файлы на стандартный вывод, перед каждым файлом будет выводиться его имя;
  • -p - то же самое, только имя выводится не будет;
  • -f - извлечь только те файлы, которые уже существуют на диске, и файлы в архиве более новые;
  • -v - вывести всю доступную информацию;
  • -P - указать пароль для расшифровки архива;
  • -n - не перезаписывать существующие файлы;
  • -j - игнорировать структуру архива и распаковать всё в текущую папку;
  • -q - выводить минимум информации.

Все самые основные опции рассмотрели, теперь давайте рассмотрим несколько примеров работы с программой в терминале. Чтобы распаковать ZIP Linux в текущую папку, достаточно набрать:

zip3

Причём расширение указывать не обязательно. Протестировать архив можно с помощью опции -t:

unzip -tq имя_файла.zip

zip1

Вы можете протестировать все архивы в текущей папке, выполнив:

Если нужно распаковывать архив не в текущую папку, можно очень просто указать нужную:

unzip имя_файла.zip -d /tmp

zip4

Также можно распаковывать не весь архив, а только нужные файлы или файлы нужного формата:

unzip имя_файла.zip \*.txt -d /tmp

С помощью опции -l вы можете посмотреть список файлов в архиве:

unzip -l file.zip

zip

Утилиту unzip разобрали и теперь вы с ней точно справитесь. Но я говорил, что мы рассмотрим несколько способов, как выполняется распаковка ZIP Linux. Поэтому дальше мы поговорим об утилите 7z.

Демонстрация работы утилит zip и unzip в терминале:

Как распаковать ZIP Linux с помощью 7z

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

Для установки утилиты в Ubuntu или Debian выполните:

sudo apt install p7zip-full

А в Red Hat и CentOS:

sudo yum install p7zip

Теперь вы можете использовать контекстное меню вашего файлового менеджера, чтобы распаковать архив ZIP Linux. Также можно использовать программу в консоли. Синтаксис очень похож на unzip:

$ 7z команда опции имя_архива

Команда задаёт нужное действие. Нас будут интересовать только четыре команды:

Теперь рассмотрим самые полезные опции:

  • -o - указать папку для распаковки;
  • -p - указать пароль;
  • -x - не извлекать эти файлы;
  • -w - указать рабочую директорию;
  • -y - отвечать положительно на все вопросы;

Ну и рассмотрим примеры работы с утилитой. Сначала проверим содержимое архива:

zip5

Распаковываем архив, сохраняя структуру подкаталогов:

zip6

Или распаковываем все файлы в одну папку, игнорируя подкаталоги:

Или вы можете указать папку, в которую нужно распаковать файлы с помощью опции -o:

7z x файл.zip -o /tmp/

Выводы

В этой статье была рассмотрена распаковка ZIP Linux, как видите, это ненамного сложнее, чем распаковка стандартных архивов TAR. Мы рассмотрели два способа ,и теперь вы точно будете знать, что делать, когда столкнетесь с такой ситуацией. Если у вас остались вопросы, спрашивайте в комментариях!

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Архивирование и распаковка файлов упрощает множество задач, но главная из них — передача файлов! В этом руководстве вы узнаете, как использовать команду unzip в Linux для оптимизации процесса работы с вашим VPS!

Zip — это часто используемая функция сжатия. Она портативна и проста в использовании. Вы даже можете распаковать в Windows файлы, созданные в Linux!

Утилита Unzip по умолчанию недоступна в большинстве дистрибутивов Linux, но её легко установить. С .zip можно добиться уровня сжатия, аналогичного .tar.gz.

Ниже приведены несколько сценариев, в которых вы можете использовать zip-файлы:

Когда вы работаете с системами на базе Windows и Unix и часто переключаетесь между ними. Архиватор не только сжимает файлы, но также является служебной программой для создания пакетов файлов. Работает на нескольких операционных системах;

Чтобы сэкономить трафик. Если у вас ограниченная пропускная способность, zip может использоваться для передачи файлов между двумя серверами;

Более быстрая загрузка и скачивание директорий;

Экономия места на диске;

Распаковка защищённых паролем архивов .zip

Когда нужна хорошая степень сжатия

Помните, для того, чтобы использовать unzip в Linux, сначала вам необходимо подключиться к серверу VPS по SSH.

Установка unzip в Debian и Ubuntu

Установить unzip очень просто! В Ubuntu и Debian используйте команду:

Затем устройтесь поудобнее и немного подождите, пока установка не будет завершена.

Чтобы создавать zip-файлы, вам также необходимо установить zip. Вы можете сделать это с помощью следующей команды:

Установите Unzip в Linux — CentOS и Fedora

Здесь всё тоже очень просто, используйте следующую команду:

По завершению установки можете проверить путь с помощью следующей команды:

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

Вы также можете убедиться, что всё установлено правильно, используя команду ниже. Она выведет подробный отчёт об утилите unzip.

Как использовать Zip и Unzip в Linux

Теперь, когда мы знаем, как установить утилиту, можем приступить к её основных способам использования:

Создание zip-файлов в Linux

Базовый синтаксис для создания файла .zip:

В качестве примера мы заархивируем два файла — ExampleFile.txt и ExampleFile1.txt. Упакуем мы их в архив sampleZipFile.zip с помощью следующей команды:

Распаковка файлов в Linux

Команду unzip можно использовать без каких-либо опций. В чистом виде она просто распакует все файлы в текущий каталог. Один из таких примеров показан ниже:

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

Удаление файла из архива .zip

Вы можете удалять файлы в созданном вами архиве .zip. Например, если вы хотите удалить ExampleFile.txt из существующего sampleZipFile.zip, вы можете использовать следующую команду:

После выполнения этой команды вы можете распаковать файл .zip, используя:

При этом вы обнаружите, что файл ExampleFile.txt был удалён и больше не отображается при извлечении.

Как добавить файлы в существующий Zip-архив

Вы можете добавить новый файл к уже существующему архиву .zip. Допустим вам необходимо добавить новый файл ExampleFile2.txt в уже существующий файл sampleZipFile.zip. Вы можете сделать это с помощью команды:

Теперь, если вы распакуете архив sampleZipFile.zip, то обнаружите среди файлов новый ExampleFile2.txt.

Перемещаем файл в ZIP-архив

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

Рекурсивное использование Zip в Linux

Параметр -r используется для рекурсивного архивирования файлов. Эта опция сжимает все файлы, находящиеся в папке. Пример такой команды показан ниже:

В этом примере MyDirectory — это каталог, содержащий несколько файлов и подкаталогов для архивирования.

Исключить файлы из ZIP-архива

При создании архива .zip вы можете исключить ненужные файлы. Это делается с помощью опции -x. Ниже приведён пример:

В этом примере ExampleFile.txt не будет добавлен в архив sampleZipFile.zip вместе с остальными.

Распаковать в другой каталог

Если вы не хотите распаковывать файлы в текущий каталог, а указать определённое местоположение, используйте параметр -d. Это позволит вам указать путь к каталогу, куда вы хотите распаковать архив. Пример такой команды показан ниже:

Распаковка нескольких ZIP-архивов

Если вы хотите распаковать несколько zip-файлов в текущий рабочий каталог, используйте команду:

Эта команда распакует все отдельные zip-файлы.

Свернуть вывод при распаковке архива в Linux

Исключение файлов с помощью Unzip в Linux

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

В этом примере команда распакует все файлы, кроме excludedFile.txt.

Также вы можете запретить извлечение определённых типов файлов. Один из таких примеров показан ниже:

Вышеупомянутая команда исключит из извлечения все файлы .jpg.

Использование Unzip в Linux с архивами, защищёнными паролем

Защищённый паролем архив .zip можно распаковать с помощью параметра -P. Пример такой команды показан ниже:

Замена Zip-файлов

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

Варианты будут выглядеть следующим образом:

Вы можете перезаписать все файлы без подтверждения этого действия, используя параметр -o. Один из таких примеров показан ниже:

Но будьте осторожны, выполнении этой команды полностью перезапишет существующие копии. Любые изменения, внесённые в предыдущую копию, будут перезаписаны.

Использование Linux Unzip без перезаписи файлов

Если вы распаковали архив и внесли некоторые изменения, но случайно удалили несколько файлов, вы можете использовать эту опцию для их восстановления! Используйте параметр -n, чтобы пропустить извлечение, если файл уже существует. Таким образом, будут распакованы только удалённые ранее файлы. Пример такой команды:

Как вывести список содержимого ZIP-архива в Linux

Опция -l перечислит все файлы в .zip вместе с временем и другой важной информацией о файлах. Пример такой команды:

Итоги

Вот и всё, вы познакомились со всеми основными функциями утилит для архивирования zip и unzip в Linux. Начните организовывать свои файлы прямо сейчас!

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

Команда для копирования системного раздела диска в файл с условным названием /media/device/sda.bin:

С учетом возможности перенаправления стандартного ввода/вывода команда dd позволяет применять для копирования алгоритмы сжатия или защитного преобразования:

Команда для восстановления системного раздела диска (для этого потребуется загрузиться с отдельного диска, и примонтировать носитель, на котором был размещен файл с образом):

Создание архива на удаленной машине

unrar

Для работы с архивами rar установите пакет:
для РЕД ОС версии 7.1 или 7.2:

для РЕД ОС версии 7.3 и старше:

rsync

Синхронизация папок rsync выполняется так же, как и файлов:

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

Синхронизация файлов производится следующим образом. Скопируем локальную папку files, на удаленный сервер:

По умолчанию rsync попытается использовать транспорт ssh. Если вы хотите использовать ранее созданный сервер rsync, нужно указать это явно:

Точно также можно синхронизировать файлы с rsync из удаленного сервера:

p7zip

Для упаковки в архив archive.7z файлов file, file1, file2 в директории /home/user/files, выполните команду:

Для упаковки в архив archive.7z всего содержимого директории /home/user/files, выполните команду(в текущем каталоге):

Файл archive.7z будет создаваться в текущей директории. Можно использовать абсолютный/относительный путь, например:

Опция -t определяет формат архива на выходе. Например -t7z устанавливает 7z формат (он же используется по умолчанию). Также можно определить иной формат архива: zip, gzip, bzip2 или tar.
Распаковка архива в текущую директорию:

Чтобы распаковать архив в определенную директорию используется опция -o, за которой без пробела указывается путь до директории:

Для просмотра содержимого архива используется команда:

Чтобы проверить целостность архива (проверить, что архив «не битый») используется команда:

Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.

Читайте также: