- Просмотр содержимого zip-архива
- 📑 Шпаргалка по архиватору 7z (7-Zip) в Linux Ubuntu/Mint
- Общее описание 7Z
- Установка программы 7Z в Linux Ubuntu/Mint
- Синтаксис программы 7z
- Основные команды программы 7Z
- Основные ключи команды 7Z
- Примеры основного использования программы 7Z
- Создание архива
- Распаковка архива
- Команда Unzip в Linux, или Как Распаковать Архив
- Установка unzip в Debian и Ubuntu
- Установите Unzip в Linux — CentOS и Fedora
- Как использовать Zip и Unzip в Linux
- Создание zip-файлов в Linux
- Распаковка файлов в Linux
- Удаление файла из архива .zip
- Как добавить файлы в существующий Zip-архив
- Перемещаем файл в ZIP-архив
- Рекурсивное использование Zip в Linux
- Исключить файлы из ZIP-архива
- Распаковать в другой каталог
- Распаковка нескольких ZIP-архивов
- Свернуть вывод при распаковке архива в Linux
- Исключение файлов с помощью Unzip в Linux
- Использование Unzip в Linux с архивами, защищёнными паролем
- Замена Zip-файлов
- Использование Linux Unzip без перезаписи файлов
- Как вывести список содержимого ZIP-архива в Linux
- Итоги
Просмотр содержимого zip-архива
Как под консолью просмотреть что находится внутри zip-архива?
Но не весь список файлов, а только верхний уровень, без списка файлов из вложенных директорий.
man unzip
man sed
Попробуйте этот костыль:
man unzip уже 2 дня читаю, но такого ключа там не нашел. А вот sed еще не доводилось в руках держать.
Могли бы вы для новичка привести конкретный пример команды с использованием sed?
выдает сообщение: awk: line 2: function gensub never defined
Но не весь список файлов, а только верхний уровень, без списка файлов из вложенных директорий.
Посмотреть в mc, толсто но работает
В подробности не вникал, но может этого будет достаточно?
Правило N+1. Как бы кратко ни был написан awk/sed/чтолибоещё-однострочник, его можно написать ещё короче.
Не подскажете, где описана такая конструкция? А то меня не покидает ощущение, что я пишу на awk perl-скрипты.
спасибо, самое оно
AITap> Не подскажете, где описана такая конструкция?
Это регексп по полю $4 — < print >отсутствует, т.к. это действие по-умолчанию.
Не подскажете, где описана такая конструкция? А то меня не покидает ощущение, что я пишу на awk perl-скрипты.
vim без ключей тоже показывает файлы из подпапок
Теперь понял. Жаль, что пробелы в именах директорий в этом случае приводят к неправильной работе однострочника.
авк здесь оверхед:
unzip -l .zip |cut -b31- |cut -sd/ -f1 |uniq
Источник
📑 Шпаргалка по архиватору 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: исключить файлы или папки из архива
Посмотреть все команды 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 можно использовать без каких-либо опций. В чистом виде она просто распакует все файлы в текущий каталог. Один из таких примеров показан ниже:
По умолчанию архив будет распакован в текущую папку, если у вас есть доступ на чтение и запись файлов.
Удаление файла из архива .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. Написание технических заданий и инструкций — одна из её главных обязанностей. Её хобби — узнавать что-то новое и создавать интересные и полезные статьи о современных технологиях, веб-разработке, языках программирования и многом другом.
Источник