- 📑 Шпаргалка по архиватору 7z (7-Zip) в Linux Ubuntu/Mint
- Установка программы 7Z в Linux Ubuntu/Mint
- Синтаксис программы 7z
- Основные команды программы 7Z
- Основные ключи команды 7Z
- Примеры основного использования программы 7Z
- Создание архива
- Распаковка архива
- Linux zip распаковать многотомный архив
- Как разархивировать многочастный (составной) ZIP на Linux?
📑 Шпаргалка по архиватору 7z (7-Zip) в Linux Ubuntu/Mint
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 — это проприетарный формат.
$sudo apt install p7zip-full p7zip-rar
Синтаксис программы 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 — ультра компрессия
Посмотреть все команды 7Z можно командой:
Чтобы посмотреть полную документацию(Англ.):
file:///usr/share/doc/p7zip-full/DOCS/MANUAL/index.htm
Примеры основного использования программы 7Z
Создание архива
Для создания архива используется команда a. Поддерживаемые форматы архивов для создания: 7Z, XZ, GZIP, TAR, ZIP и BZIP2. Если данный файл архива уже существует, он будет добавлять файлы в существующий архив, если нет — создаст. По умолчанию создается архив 7Z.
Для упаковки в архив archive.7z файлов file01.c и file02.c в директории /home/user_name/
cd /home/user_name/ 7z a archive.7z file01.c file02.c
Для упаковки в архив archive.7z всего содержимого директории /home/user_name/
cd /home/user_name/ 7z a archive.7z
Файл archive.7z будет создаваться в текущей директории /home/user_name/.
Чтобы выбрать формат архива, нужно использовать опцию (ключ) -t (format name), которая позволит вам выбрать формат архива, такой как zip, gzip, bzip2 или tar
Создать архив с максимальной степенью сжатия
Создать архив всех файлов за исключением файла file01.c
7z a -mx9 archive.7z -xfile01.c
Установить пароль на файл архива, например password
7z a -mx9 -ppassword archive.7z -xfile01.c
Посмотреть содержимое архива
Распаковка архива
Для распаковки архивов используются команды a и x
Для извлечения содержимого из архива arch.7z в текущую директорию, выполните в терминале:
Этом случае все файлы распакуются в текущую директорию без сохраненных путей. Чтобы распаковать файлы из архива с структурой директорий
Если архив разбит на множество частей, используйте имя с наименьшим номером тома:
Если вы хотите извлечь архив не в текущей диретории, вы можете явно задать целевую директорию с помощью опции -o
7z x arch.7z -o/home/user_name/allarhives
Команда b измеряет скорость процессора и проверяет оперативную память на наличие ошибок.
Тест показывает рейтинг в MIPS (миллион инструкций в секунду). Значение рейтинга рассчитывается по измеренной скорости процессора и нормализуется по результатам работы процессора Intel Core 2 с отключенной опцией многопоточности. Так что, если у вас Intel Core 2 Duo, номинальные значения должны быть близки к реальной частоте процессора.
- Альтернативы SSH, которые в некоторых случаях лучше оригинала
- Полный набор лучших и современных консольных программ для Linux
- Хитрости командной строки Bash, которые помогут вам работать быстрее
- Команда ls в Linux — подробно и с примерами
- Команда mkdir в Linux — подробно и с примерами
- Команда chmod в Linux — подробно и с примерами
- Команда cat и примеры её использования в Linux
- Файловый менеджер nnn
- Версия системы и версия ядра Ubuntu/Mint
- Ошибка NO_PUBKEY. Как найти GPG-ключ и добавить его в базу apt системы Ubuntu
- nmon — удобный инструмент для мониторинга Linux систем
- Команда history или работа с историей введенных команд
- Шпаргалка по архиватору 7z (7-Zip) в Linux Ubuntu/Mint
- Как посмотреть все доступные шрифты в терминале (CLI)?
- Команда id — найти UID пользователя или GID
- nmblookup — аналог команды Windows nbtstat для Linux.
- Inxi — программа вывода информации о системе и железе в Linux
- dnstop — мониторинг и анализатор DNS-трафика
- ss — программа для исследования сокетов
- Команда netstat в Ubuntu — показ статуса сети
- Команда ifconfig — настройка параметров сетевого интерфейса
- Почему в меню загрузки ubuntu нет memtest86
- Ethtool — программа изменения параметров сетевой платы в Ubuntu/Mint
- Установка сервера точного времени NTP в Ubuntu 16.04
- Удаление файлов старше N дней
- Блокирование атак при помощи null route или blackhole
- Расширенный менеджер пакетов APT
- Архиватор tar
- Шпаргалка по архиватору zip
- Блокирование ip адреса при помощи iptables
- Программа iftop
- Top – сведения об активности процессов в Ubuntu
- i-Nex — аналог CPU-Z в Windows
- Защита сервера — Fail2Ban
Linux zip распаковать многотомный архив
Краткая памятка по работе с архиваторами (программами управления файловыми архивами) из консоли в Linux.
- В двух словах о самом формате tar
http://ru.wikipedia.org/wiki/Tar писал(а): . в настоящее время tar используется для хранения нескольких файлов внутри одного файла, для распространения программного обеспечения, а также по прямому назначению — для создания архива файловой системы.
где foo.tar имя которое будет присвоено полученному архиву, а «./» указание папки
А для распаковки этого архива будем использовать
-A, —catenate, —concatenate
склеить файлы tar в один архив-c, —create
создать новый архив-d, —diff, —compare
найти различия между архивом и файловой системой—delete
удалить из архива (не применяется к магнитным лентам!)-r, —append
добавить файлы в конец архива-t, —list
показать содержимое архива-u, —update
добавить только новые версии файлов файлов-x, —extract, —get
извлечь файлы из архива-j, —bzip2
используется для создания/распаковки .bz2 файлов-z, —gzip, —ungzip
используется для создания/распаковки .gz файлов-M, —multi-volume
создать/показать/распаковать многотомный архивДругие не менее интересные опции этой очень важной команды можно найти в руководстве пользователя — man tar.
tar -czvf - --exclude=www/test --exclude='*.zip' /var/www/ | split -b 1024m - ./backup.tar.gz
(«-» после -czvf говорит tar’у выводить в stdout, чтобы потом split мог его разбить на части(а «-» в split говорит ему брать из stdin)) В результате будут созданы файлы backup.tar.gzaa, backup.tar.gzab, backup.tar.gzac . размер каждого 1024 Мб. Именно последние две буквы в названии архива .tar.gzaa, .tar.gzab и т.д., указывают на то, что он разбит на части.
Склеить все части можно командой
cat часть1 часть2 часть3 > архив.tar.gz
cat backup.tar.gzaa backup.tar.gzab backup.tar.gzac > backup.tar.gz
cat backup.tar.* > backup.tar.gz
в результате будут созданы файлы arch.7z.001 arch.7z.002 arch.7z.003 . размер каждого 100 Мб (опция -v100m).
Чтобы распаковать многотомный архив arch.7z.001, достаточно поместить все части архива в текущую папку и дать команду
unrar e -p"Пароль" archive.rar
между вашим паролем и ключем -p не должно быть пробелов, в кавычки надо брать если в пароле используется например дефис или другой системный символ
создание и распаковка архива с паролем через 7zip
7za a -mhe=on -ms=on -p Documents.7z Documents/
Как разархивировать многочастный (составной) ZIP на Linux?
Мне нужно загрузить файл 400 МБ на мой веб-сервер, но я ограничен загрузкой 200 МБ. Мой хост предложил мне использовать составной архив, чего я никогда не делал в Linux.
Я создал тест в своей папке, сжать вверх PDF в test.zip.001 , .002 и .003 . Как мне разархивировать его? Нужно ли сначала присоединиться к ним?
Обратите внимание, что я буду так же рад использовать 7z, как и форматы ZIP. Если это имеет какое-либо значение для результата.
Это может быть бесполезно на веб-сервере с установленным ограниченным программным обеспечением, но я нигде не видел этого решения, и именно это я использую: API java.util.zip работал со всеми ZIP-частями, которые я выбрасывал. даже в более общем случае отсутствия задних частей или неполной последней части. Я звоню из Jython, так что это в форме скрипта, и вот код: github.com/combatopera/unzipparts
Сначала вам нужно присоединиться к ним. Вы можете использовать обычное приложение 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. *> и распаковать их.
unzip Утилита Linux на самом деле не поддерживает составные почтовые индексы. Из руководства :
Многокомпонентные архивы пока не поддерживаются, кроме как в сочетании с zip. (Все части должны быть соединены вместе по порядку, а затем zip -F (для zip 2.x) или zip -FF (для zip 3.x) должны быть выполнены для объединенного архива, чтобы «исправить» его. Кроме того, zip 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