Zip linux

13 ответов

Первое, что вам нужно сделать, – извлечь файлы из архива tar в папку. Скопируем файлы на рабочий стол. Вы можете извлечь архив, щелкнув правой кнопкой мыши значок архивного файла внутри вашего браузера файлов и нажав соответствующую запись в контекстном меню. Извлечение архива должно создать новую папку с похожим именем. например %код%. Теперь вам нужно открыть терминал и перейти к этому каталогу, используя следующую команду:

Убедитесь, что вы прочитали файл с именем program-1.2.3 , INSTALL , INSTALL.txt или что-то подобное, если оно было извлечено. Вы можете проверить, существует ли такой файл из терминала с помощью команды README . Файл можно открыть и прочитать с помощью команды:

Где INSTALL – это имя вашего файла. Этот файл будет содержать правильные шаги для продолжения процесса установки. Обычно три «классических» шага:

Вам также может потребоваться установить некоторые зависимости, если, например, запуск ls запросил вас с сообщением об ошибке, которые вам не нужны. Вы также можете использовать configure вместо checkinstall . См. Здесь Ссылка

Помните, что ваш пробег может отличаться.

Вы не можете «установить» файл .tar.gz или .tar.bz2. .tar.gz – файлы, сжатые в gzip, сжатые архивы, такие как .zip файлов. Файлы .bz2 сжимаются с помощью bzip2. Вы можете извлечь .tar.gz файлов, используя:

Аналогичным образом вы можете извлечь файлы .tar.bz2 с помощью

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

Даже если у вас нет подключения к Интернету, вы все равно можете использовать систему управления пакетами Ubuntu, просто загрузите файлы .deb из Ссылка , Не забудьте также загружать зависимости.

Для более простого способа установки пакетов в автономном режиме см. вопрос Как установить программное обеспечение в автономном режиме? .

zip, unzip и другие утилиты

Возможно, вы уже знаете, что Linux и Unix-подобные операционные системы, такие как macOS, имеют инструменты, позволяющие создавать ZIP-файлы и извлекать из них файлы, называемые zip и unzip . Но есть целый ряд связанных утилит, таких как zipcloak , zipdetails, zipsplit и zipinfo.

Мы проверили некоторые дистрибутивы Linux, чтобы увидеть, включают ли они эти утилиты в стандартную установку. Все утилиты присутствовали в Ubuntu 19.04, 18.10 и 18.04. Они также присутствовали в Манджаро 18.04. Fedora 29 включала zip и unzip , но ни одну из других утилит, и это также относится к CentOS.

Чтобы установить недостающие элементы в Fedora 29, используйте следующую команду:

sudo dnf install perl-IO-Compress

Чтобы установить недостающие элементы в CentOS 7, используйте следующую команду:

sudo yum install perl-IO-Compress

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

TAR

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

$ tar опцииf файл_для_записи /папка_файлами_для_архива

А теперь разберем основные опции:

  • A — добавить файл к архиву
  • c — создать архив в linux
  • d — сравнить файлы архива и распакованные файлы в файловой системе
  • j — сжать архив с помощью Bzip
  • z — сжать архив с помощью Gzip
  • r — добавить файлы в конец архива
  • t — показать содержимое архива
  • u — обновить архив относительно файловой системы
  • x — извлечь файлы из архива
  • v — показать подробную информацию о процессе работы
  • f — файл для записи архива
  • -C — распаковать в указанную папку
  • —strip-components — отбросить n вложенных папок

Теперь давайте рассмотрим архивирование файлов в Linux. Чтобы  создать архив используйте такую команду:

А чтобы распаковать архив tar linux:

Очень просто запомнить для упаковки используется опция c — Create, а для распаковки — x — eXtract.

Сжатый архив создается точно так же, только с опцией -z, это в случае, если использовалось шифрование gizp, если нужно bzip то применяется опция -j:

Например, рассмотрим как заархивировать папку в Linux:

Хотя можно поступить по-другому, тот же архив мы получим если сначала создать обычный архив с помощью tar, а потом сжать его утилитой для сжатия, только здесь мы получаем больше контроля над процессом сжатия:

Также можно убрать сжатие:

Утилиты сжатия мы рассмотрим ниже.

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

Для извлечения одного файла синтаксис тот же:

Можно извлечь несколько файлов по шаблону соответствия с помощью параметра wildcard, например, извлечем все php файлы:

По умолчанию распаковать архив tar linux можно в текущую папку с именем архива, чтобы распаковать в нужную папку используйте ключ -C:

Стандартную утилиту рассмотрели, теперь кратко рассмотрим ее альтернативы. Их не так много, и большинство из них уже устаревшие.

Как создать ZIP-файл с помощью команды zip

Чтобы создать ZIP — файл, вам нужно указать имя файла архива и какие файлы включить в него. Вам не нужно, чтобы добавить «.zip» расширение к имени архива, но это не делает никакого вреда, если вы делаете.

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

  застежка-молния source_code * .c * .h 

Каждый файл указан как добавленный. Имя файла и степень сжатия, который был достигнут на этот файл показано.

Если вы посмотрите на новый ZIP архив, вы можете увидеть , что расширение файла «.zip» был добавлен автоматически .

  ls -l source_code.zip 

Если вы не хотите видеть вывод из , как файл ZIP создается, используйте вариант (тихий).

  Zip -q source_code * .c * .h 

Распаковка многотомного (разделённого) архива

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

Типичный многотомный архив состоит из нескольких идентичных по названию файлов, которые, однако, различаются в расширении, к примеру: doc.z01, doc.z02, doc.z03 или doc.part1, doc.part2, doc.part3 или doc.001, doc.002, doc.003 и т.д.

Для распаковки многотомного архива потребуются все части, в ином случае распаковка не увенчается успехом. Каких-то иных отличий у многотомного архива нет.

Для распаковки такого архива необходимо указать архиватору первый файл: .z01, .part1, .001 и т.д.

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

Общее описание 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 использует плагины для обработки архивов.

Просмотр информации с помощью команды zipinfo

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

zipinfo source_code.zip | less

Слева направо вывод показывает:

  • Файл разрешений
  • Версия инструмента, использованного для создания файла ZIP
  • Исходный размер файла
  • Файловый дескриптор (описан ниже)
  • Метод сжатия (в данном случае дефляция)
  • Данные и отметка времени
  • Название файла и любой каталог

Дескриптор файла состоит из двух символов. Первым символом будет «t» или «b» для обозначения текстового или двоичного файла. Если это заглавная буква, файл зашифрован. Второй символ может быть одним из четырех символов. Этот символ представляет тип метаданных, включаемых в этот файл: нет, расширенный локальный заголовок, «дополнительное поле» или оба.

  1. -: если ни один не существует, символ будет дефисом
  2. l: если есть расширенный локальный заголовок, но нет дополнительного поля
  3. x: если расширенного локального заголовка нет, но есть дополнительное поле
  4. X: если есть расширенный локальный заголовок и есть дополнительное поле

Архивация Zip в Linux

Архиватор zip — это звезда в мире ПО (ну не считая rar) этот формат очень популярен для windows систем и он по умолчанию уже встроен в чистую сборку операционной системы, поэтому только установив виндовус вы уже можете разархивировать файлы в формате zip

но давайте перейдем к делу, в Linux и Unix системах дела обстоят по другому, это формат Tar идет по умолчанию, а вот для zip надо поставить пакет unzip

  1. sudo apt-get update && apt-get upgrade
  2. sudo apt-get install unzip

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

Для начала запомним шаблон или синтаксис команды для создания архива zip в linux:

Опции для создания архива tar:

  • r (recurse) — рекурсивное создание архива
  • s (size) — разбивка архива на определенный размер k (kB), m (MB), g (GB) или t (TB) пример: zip -s 300m на выходе получим:file.zip (300 mb, master file) file.001.zip (300 mb) file.002.zip (300 mb) file.003.zip (100 mb)
  • P (password) — запаролировать архив (можно использовать ключ e тогда пароль будете вводить в отдельной строке со звездочками ) пример: zip -P мойпароль -r file.zip ./home/nibbl/foto пример2: zip -er file.zip ./home/nibbl/foto
  • x — исключаем файлы или каталоги из архива
  • 1-9 — степень сжатия (где 1 без сжатия, а 9 лучшее сжатие)

— данной командой мы заархивировали с сжатием папку myfile создали архив с именем archive.zip и установили пароль на архив 123

Распаковать zip архив

рассмотрим синтаксис команды что бы распаковать или разархивировать tar архив :

Опции для создания архива tar:

  • d (directory) — указать директорию для разархивации
  • l — вывести список файлов в архиве
  • d — удалить определенный файл или каталог из уже сделанного архива
  • v — показывает детальную информацию по файлам в архиве ()

Источник

Как архивировать файлы в Linux [tar]

В этой статье мы поговорим о том, как архивировать файлы и каталоги в Linux. Разве архивация и сжатие не одно и то же? Многие думают, что эти термины имеют одинаковое значение. Но они совершенно разные. Архивирование — это процесс объединения нескольких файлов и каталогов в один файл. А сжатие — это процесс уменьшения размера файлов или каталогов. Архивирование часто используется для резервного копирования системы или при перемещении данных. Надеюсь, теперь вы понимаете разницу между архивированием и сжатием. Давайте перейдем к теме.

Наиболее распространенные программы для архивирования файлов и каталогов:

Раcпаковка 7zip-архивов

Когда поддержка 7-Zip установлена, то для распаковки .7z файлов вы можете использовать графические утилиты (например, File Roller, Ark), средства файлового менеджера вашего дистрибутива (если есть поддержка), а также командую строку.

Для работы с 7-Zip архивами через командную строку используется команда 7z 

Распаковать в текущую директорию

Чтобы распаковать .7z архив в текущую директорию с сохранением структуры директорий, которые находятся внутри архива, выполните в терминале команду:

Файлы архива будут распакованы в текущую директорию. Если в архиве содержатся директории, то при распаковке их структура будет сохранена.

Распаковать в определенную директорию

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

Распаковать без сохранения структуры директорий

Можно распаковать .7z архив, не сохраняя структуру директорий. То есть, если внутри архива есть директории и файлы в них, то при распаковке все файлы будут распакованы в одну директорию. Для этого используется опция (команда) e.

7-молния (Windows)

7zip остается одним из самых известных инструментов сжатия, который вступил на тернистый путь, став бесплатной программой сжатия для всех. 7zip поддерживает большинство популярных форматов (например, ZIP, 7z, RAR, GZIP, TAR) и зарекомендовал себя как быстрый и эффективный. С помощью этого инструмента вы можете создавать самораспаковывающиеся архивы — просто упакуйте файлы, и вы сможете отправить их даже тому, у кого на компьютере не установлено программное обеспечение для сжатия. Такой архив автоматически распаковывается при нажатии на него.

Любопытные ребята оценят плагины для Total Commander и FAR Manager. Однако у 7zip есть один очень заметный недостаток — его интерфейс выглядит как рай для сумасшедших программистов. Так что, если вам действительно не нужно ничего больше от программного обеспечения, а только время от времени минутное общение — приготовьтесь к бою.

10 ответов

Лучший ответ

Из zip (1):

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

66

PleaseStand
25 Янв 2011 в 22:27

Попробуйте следующее:

Пример:

58

WizardsOfWor
12 Мар 2019 в 22:23

Я обнаружил, что файл Linux слишком громоздок для замены одного файла в zip-архиве. Утилита из Java Development Kit может быть проще. Рассмотрим типичную задачу обновления в файле JAR (который является просто файлом zip):

Здесь — это путь к каталогу, содержащему каталог (который, в свою очередь, содержит ).

78

cayhorstmann
17 Янв 2013 в 22:06

Я знаю, что это старый вопрос, но я хотел сделать то же самое. Обновите файл в zip-архиве. И ни один из приведенных выше ответов мне не помог.

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

Переключатель будет искать измененные / новые файлы и добавлять их в zip-архив.

13

traditional
29 Дек 2013 в 14:40

Используйте флаг обновления:

Примере:

Эта команда сожмет и добавит (и его содержимое) в .

Расширенное использование:

Флаг обновления фактически сравнивает входящие файлы с существующими и либо добавляет новые файлы, либо обновляет существующие.

Поэтому, если вы хотите добавить / обновить определенный подкаталог в zip-файле, просто обновите источник по своему усмотрению, а затем повторно заархивируйте весь источник с помощью флага . Будут заархивированы только измененные файлы.

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

Примере:

Структура исходного кода

Обновленная структура источника

Использование

12

Ethan Strider
26 Апр 2016 в 15:01

Вы можете использовать: zip -u file.zip path / file_to_update

5

Renato Luiz Ramos
4 Сен 2015 в 17:26

Также есть опция -f, которая обновит zip-файл. Его можно использовать для обновления ВСЕХ файлов, которые были обновлены с момента создания zip-архива (при условии, что они находятся в одном месте в древовидной структуре внутри zip-файла).

Если ваш файл называется /myfiles/myzip.zip, все, что вам нужно сделать, это

1

W7GVR
19 Мар 2017 в 15:48

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

Nickolay Olshevsky
21 Мар 2014 в 21:47

(7za) можно использовать для добавления / обновления файлов / каталогов:

Пример: Замена (независимо от даты файла) файла в файле JAR. Каталог содержит файл , который вы хотите поместить в (zip):

Только обновление (не заменяет цель, если источник старше)

Xpleria
12 Окт 2017 в 13:04

Да это возможно.

Но по моему личному опыту, если возможно и сжатие не так важно, это лучше работает с простыми tar-файлами и tar. -2

The Surrican
25 Янв 2011 в 22:28

-2

The Surrican
25 Янв 2011 в 22:28

Команда tar и zip в Linux

Нет ничего лучше для запоминания информации, чем чтение, а потом написание этой информации в тетрадь, вот и я люблю прочитать и записать информацию в свою тетрадь nibbl.ru

Сегодня речь пойдет о такой вещи как архивация, а именно упаковка и распаковка таких форматов как: tar, gzip, zip и rar в в операционных системах Unix и Linux

нашу статью разобьем на разделы, что бы была удобная навигация.

Архивация в Linux

Хоть Linux и имеет графическую оболочку и даже уже можно скачать графические пакеты для работы с самыми популярными расширениями архиваторов, мы будем рассматривать работу с архивами на уровне консоли (но если кому надо сделаем обзор пакетов для работы не через консоль)

Как распаковать ZIP архив штатными средствами Windows

В операционную систему Windows встроен базовый функционал для работы с ZIP архивами. Благодаря этому вы можете распаковать ZIP-архив, не прибегая к установке какого-либо стороннего софта.

Для распаковки ZIP-архива вам необходимо кликнуть по нему правой клавишей мышки и в отобразившемся контекстном меню выбрать пункт Извлечь всё…

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

Также установив галочку у пункта Показать извлечённые файлы, по окончании будет открыто окно файлового менеджера, в котором эти самые файлы будут отображены.

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

jZip (Windows)

jZip архиватор обеспечивает полную поддержку работы с архивами Zip, TAR, RAR и 7-Zip. Самая удивительная особенность jZip заключается в том, что у него есть версия для ОС Symbian — он распаковывает zip-архивы на смартфонах, которые работают под UIQ. jZip для Symbian может выполнять практически все необходимые функции с zip-архивами: он может открывать архивы, создавать новые, добавлять файлы (с указанием пути) или целые папки, извлекать файлы по одному или все вместе и удалять из архива. После такой хороший и экзотика мы упорно движется к нашей дегтя в бочке меда: остерегайтесь вредоносных программ, которые загрузки вместе с программой время от времени.

Различия между tar, .zip и .gz

Если вам некогда вникать в подробности, то вот краткое и понятное объяснение:

  • .tar — архивный файл без сжатия
  • .zip — (как правило) сжатый архивный файл
  • .gz — файл (архивный или не архивный), который сжали с помощью gzip

История развития архивов

Эта история началась в далёких 70х, как и многое из того, что связано с Unix системой и ей подобными. Морозное январское утро 1979 года ознаменовалось появлением утилиты tar в составе дистрибутива Unix V7.

Утилита tar была разработана для эффективной записи большого количества файлов на магнитные ленты. Большинство современных пользователей Linux незнакомы с ленточными накопителями. Тем не менее, tar архивы (они же tarballs) до сих пор широко используются, когда нужно упаковать несколько файлов или даже древо каталога целиком (или целый «лес»  в один файл.

Главное, что нужно запомнить о tar файле ― что это просто архив, без сжатия. Другими словами, если вы архивируете 100 файлов по 50kb, то на выходе получите архив размером около 5000kb. Используя только tar, единственное на что можно рассчитывать это экономия пространства за счёт файловой системы. Например, файл длинной 1 байт использует 4kb дискового пространства, а 1000 таких файлов займёт уже 4Mb, а tar архив с этими файлами займёт всего 1Mb.

Архивы — это хорошо, но с началом эры персональных компьютеров, люди поняли, что, сжимая данные можно существенно экономить память. Поэтому, спустя десять лет после появления tar, уже в мир MS-DOS, пришёл формат архива с возможностью сжатия — zip. Наиболее распространённый алгоритм сжатия в zip — это Deflate, который использует алгоритмы LZ77. Формат zip многие годы страдал от обременений патентами компании PKWARE.

В то же время был создан gzip, который также использовал алгоритм LZ77, но для бесплатного использования, не нарушая патент PKWARE.

Gzip создавался только для сжатия файлов, согласно ключевому понятию в философии Unix ― «». Таким образом, чтобы создать сжатый архив ― сначала вам нужно создать архив, например с помощью утилиты tar, а после этого сжать его. Так получается файл .tar.gz (иногда сокращается до .tgz, из-за соблюдения давно забытых ограничений в имени файла MS-DOS).

По мере развития компьютерных наук создавались и другие алгоритмы, для более эффективного сжатия. Например реализация алгоритма Барроуза — Уилера в bzip2 (отсылка к .tar.bz2 архивам). Или более новый формат xz, в котором реализован алгоритм LZMA. Этот алгоритм используется в архиваторе 7zip.

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
IP-файл
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: