Linux zip удалить файл

Содержание
  1. Удалить один файл из zip-архива в Linux
  2. Примеры использования zip и unzip в linux
  3. Установка zip и unzip:
  4. Пример использования утилиты zip
  5. Удалить один файл из zip архива на Linux
  6. 1 ответов
  7. 📑 Шпаргалка по архиватору 7z (7-Zip) в Linux Ubuntu/Mint
  8. Общее описание 7Z
  9. Установка программы 7Z в Linux Ubuntu/Mint
  10. Синтаксис программы 7z
  11. Основные команды программы 7Z
  12. Основные ключи команды 7Z
  13. Примеры основного использования программы 7Z
  14. Создание архива
  15. Распаковка архива
  16. Команда Unzip в Linux, или Как Распаковать Архив
  17. Установка unzip в Debian и Ubuntu
  18. Установите Unzip в Linux — CentOS и Fedora
  19. Как использовать Zip и Unzip в Linux
  20. Создание zip-файлов в Linux
  21. Распаковка файлов в Linux
  22. Удаление файла из архива .zip
  23. Как добавить файлы в существующий Zip-архив
  24. Перемещаем файл в ZIP-архив
  25. Рекурсивное использование Zip в Linux
  26. Исключить файлы из ZIP-архива
  27. Распаковать в другой каталог
  28. Распаковка нескольких ZIP-архивов
  29. Свернуть вывод при распаковке архива в Linux
  30. Исключение файлов с помощью Unzip в Linux
  31. Использование Unzip в Linux с архивами, защищёнными паролем
  32. Замена Zip-файлов
  33. Использование Linux Unzip без перезаписи файлов
  34. Как вывести список содержимого ZIP-архива в Linux
  35. Итоги

Удалить один файл из zip-архива в Linux

У меня есть zip-архив (создается автоматически в сценарии с -j -r флагами), и я хотел бы удалить из него один файл. Я попробовал как задокументировано.

но я получаю эту ошибку:

Во всяком случае, внутри архива есть такой файл, и он не пустой:

Есть идеи, что я делаю не так?

У вас есть аргументы поменялись местами. Попробуй это:

Со страницы руководства zip (1) :

-d
—delete
Удалить (удалить) записи из zip-архива. Например:

zip -d foo foo/tom/junk foo/harry/\* \*.o

удалит запись foo/tom/junk , все файлы, которые начинаются с foo/harry/ , и все файлы, которые заканчиваются .o (в любом пути). Обратите внимание, что расширение имени пути оболочки было запрещено с помощью обратной косой черты, поэтому zip может видеть звездочки, позволяя zip соответствовать содержимому архива zip вместо содержимого текущего каталога. (Обратные косые черты не используются на платформах на основе MSDOS.) Также можно использовать кавычки для экранирования звездочек, как в

zip -d foo foo/tom/junk «foo/harry/*» «*.o»

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

В MSDOS -d чувствительна к регистру, когда совпадает с именами в zip- архиве. Для этого необходимо, чтобы имена файлов вводились в верхнем регистре, если они были заархивированы PKZIP в системе MSDOS. (Мы рассматривали вопрос о том, чтобы сделать этот регистр нечувствительным в системах, в которых пути были нечувствительны к регистру, но возможно, что архив поступил из системы, в которой регистр имеет значение, и архив может включать в себя как Bar и bar отдельные файлы в архиве.) Но посмотрите новую опцию — ic, чтобы игнорировать регистр в архиве.

Источник

Примеры использования zip и unzip в linux

Сегодня я хотел сделать пост памятку по работе в Unix подобных системах с утилитами zip и unzip. Также рассмотреть несколько интересных команд, которые могут пригодиться для работы.

Установка zip и unzip:

В системе Debian/Ubuntu.

В системе Red Hat Linux/Fedora/CentOS.

Пример использования утилиты zip

Пример 1: Создания архива из указанных файлов и папок

Пример 2: Создания архива текущего каталога (архив создается без подкаталогов)

Пример 3: Создания архива включая все подкаталоги используем ключ -r

Создает архив без скрытых файлов/каталог это файлы/каталоги начинающиеся с .

Создает архив с скрытыми файлами и каталогами

Пример 4: Чтобы сжать быстро используйте -1, но для более лучшего сжатие используйте -9

Пример 5: Опция -x позволяет исключать файлы и каталоги из архива

Пример 6: Также опция -x позволяет исключать файлы и каталоги по шаблону

Таким способом я исключаю все каталоги заканчивающихся на ted и файлы расширения xml

Пример 7: Разбиваем архив на части с помощью опции -s

Также есть возможность указать опцию размера части архива в: k (KB), m (MB), g (GB), t (TB)

Пример 8: Задать пароль можно опцией -e или опцией -P .

Пример 9: Выбрать только указанные файлы/каталоги

Пример 10: Удаление файлов из созданного архива

Пример 11: Обновить содержимое созданного архива

Пример 11: Тихий режим (Полезно, например, в сценариях оболочки и фоновых задач)

Читайте также:  Установка windows 10 iso без флешки

Пример 12: Извлечь все содержимое архива

Пример 13: Извлечь все содержимое архива в указанную директорию

Пример 14: Показать содержимое архива

Пример 15: Извлечь конкретный файл из архива

Источник

Удалить один файл из zip архива на Linux

у меня zip архив (создается автоматически скриптом с -j -r flags) и я хотел бы удалить из него один файл. Я пытался, как задокументировано.

но я получаю эту ошибку:

там is такой файл внутри архива и он не пустой:

любые идеи о том, что я делаю неправильно?

1 ответов

у вас есть аргументы меняются местами. Попробуйте это:

-d
—delete
Удаление записей из zip-архива. Например:

zip -d foo foo/tom/junk foo/harry/\* \*.o

удалить запись foo/tom/junk все файлы, которые начинаются с foo/harry/ и все файлы, которые заканчиваются .o (по любому пути). Отмечать это расширение пути оболочки было заблокировано обратными косыми чертами, поэтому это zip можно увидеть звездочки, что позволяет zip в матче на содержание из zip архивировать вместо содержимого текущего каталога. (Символы не используются на рекламного платформ.) Смогите также использовать цитаты, чтобы избежать звездочек, как в

zip -d foo foo/tom/junk «foo/harry/*» «*.o»

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

под MSDOS, — d чувствителен к регистру, когда он соответствует имена в zip архиве. Для этого необходимо ввести имена файлов верхний регистр, если они были заархивированы PKZIP на системе MSDOS. (Мы сделать это без учета регистра в системах, где пути были случай нечувствительный, но возможно архив пришел от системы где случай имеет значение, и архив может включать оба Bar и bar как отдельные файлы в архиве.) Но смотрите новую опцию — ic для игнорировать регистр в архиве.

Источник

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

Общее описание 7Z

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 — это проприетарный формат.

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

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 — ультра компрессия
  • -p: пароль для архива
  • -o: задает директорию, например, в которую будут распакованы файлы
  • -sdel: удалить файлы после создания архива
  • -sfx: создание самораспаковывающегося sfx-архива
  • -v: разбивать архив на тома, (b — байты, k — килобайты, m — мегобайты, g — гигабайты), например: -v256m
  • -y: утвердительно ответить на все вопросы системы
  • -x: исключить файлы или папки из архива
Читайте также:  Драйвера nvidia geforce gtx 460 windows 10 64 bit

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

Команда Unzip в Linux, или Как Распаковать Архив

Архивирование и распаковка файлов упрощает множество задач, но главная из них — передача файлов! В этом руководстве вы узнаете, как использовать команду 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 можно использовать без каких-либо опций. В чистом виде она просто распакует все файлы в текущий каталог. Один из таких примеров показан ниже:

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

Читайте также:  Citrix and linux and client

Удаление файла из архива .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, она выводит список всех извлекаемых файлов — распечатывает краткое описание процесса экстракции. Если вы не хотите видеть эти сообщения, можете использовать опцию -q. Вот пример команды:

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

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

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

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

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

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

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

В приведённой выше команде слово «Пароль» нужно заменить паролем от файла .zip.

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

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

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

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

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

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

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

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

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

Итоги

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

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

Источник

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