- Ubuntu Linux
- Сайт для пользователей Ubuntu Linux
- Как разархивировать файлы в Ubuntu Linux
- Новые возможности в мире сжатия файлов
- Об авторе
- 📑 Шпаргалка по архиватору 7z (7-Zip) в Linux Ubuntu/Mint
- Общее описание 7Z
- Установка программы 7Z в Linux Ubuntu/Mint
- Синтаксис программы 7z
- Основные команды программы 7Z
- Основные ключи команды 7Z
- Примеры основного использования программы 7Z
- Создание архива
- Распаковка архива
Ubuntu Linux
Сайт для пользователей Ubuntu Linux
Как разархивировать файлы в Ubuntu Linux
Работа с архивами — часть повседневной жизни пользователя компьютера. Архивы используются для уменьшения занимаемого места на диске, хранения многих файлов в одном, напротив — разделения большого файла на несколько и даже для шифрования.
Для тех, кто хочет узнать об архивах ещё больше.
Казалось бы, уже давно проблем быть не должно с архивацией/разархивацией, однако, до сих пор можно встретить файл, запакованный в странном формате, о котором система и не слышала. Ниже описаны консольные команды, которые помогут Вам разархивировать файл в Linux.
Самый «простой» формат, который может Вам встретиться — ZIP. Распаковать его можно командой unzip:
В мире Linux/Unix довольно распространены TAR архивы (tar.gz, tar.bz2 и так далее):
tar xvf file.tar.*
Tar архивы интересны тем, что на самом деле, сам tar не сжимает. Он создаёт файл, в котором уже хранятся другие файлы, а этот файл уже можно и сжать. Этим занимаются обычно gzip или bzip2. Однако, tar умеет определять — чем сжали его файл и может распаковать. Ключи в примере:
- x — извлечение файлов из архива.
- f — использовать файл.
- v — печатать на консоль информацию о процессе.
Если же у на не tar, а просто gz (gzip) файл, распакуем его командой:
Аналогично с BZ2 — разархивируем с помощью:
Пользователи Windows любят использовать формат RAR, видимо, из-за популярного архиватора WinRAR. Пользователи Linux же могут без проблем разархивировать и rar-файлы:
Возможно, потребуется установить программу unrar перед этим ( sudo apt-get install unrar ).
Могут встретиться и файлы XZ. Разархивируем командой
xz —decompress file.xz
XZ умеет разархивировать файлы и LZMA формата:
xz —format=lzma —decompress file.lz # для .lz файлов
Для 7Z-файлов используем:
Нужно установить p7zip до этого ( sudo apt-get install p7zip ).
Возможно, файл к Вам попал без расширение или с неправильным, тогда воспользуемся командой file , чтобы узнать формат файла:
Источник
Новые возможности в мире сжатия файлов
Вначале был compress. Люди использовали его для своих файлов, и это было хорошо. Их файлы становились меньше, и на пластину диска можно было втолкать больше данных, чем когда-либо. И многие испытывали восторг от LZW-сжатия.
В 1992 году появилось кое-что получше: gzip. Он использовал иной алгоритм сжатия (LZ77 плюс кодирование Хаффмана), который выдавал ещё меньшие файлы. В качестве бонуса, он был свободен от алгоритмов, отягощённых какими-либо патентами. Народные массы стали ещё счастливее, поскольку они могли затолкать в свою систему ещё больше данных, и при этом не нужно было делать никаких отчислений по патентам.
В 1996 году Джулиан Сьюард (Julian Seward) создал bzip2, который использовал комбинацию преобразования Барроуза-Уилера (Burrows-Wheeler Transform, BWT) и других методов сжатия, достигая ещё лучших результатов, чем gzip. Ему требовался более мощный процессор и больше памяти, но учитывая постоянно возрастающие возможности компьютеров, со временем это перестало быть серьёзной проблемой.
Долгие годы gzip и bzip2 оставались стандартом де-факто в области сжатия в мире свободного ПО: gzip использовался для задач, чувствительных ко времени выполнения, а bzip2 — там, где хотелось получить максимальную степень сжатия.
Однако в 2000 году появилось кое-что новое. Игорь Павлов выпустил программу под названием 7-Zip, особенностью которой был новый алгоритм — LZMA. Этот алгоритм обеспечивал очень высокую степень сжатия, хотя и требовал очень много памяти и процессорного времени.
К сожалению, две проблемы делали 7-Zip далёким от идеала для пользователей Linux/BSD/Unix. Первая — он был разработан для Microsoft Windows. Как это ни печально. Эта проблема, к счастью, потеряла актуальность в 2004 году с выходом кросс-платформенного порта p7zip. Вторая же заключалась в том, что 7-Zip (и p7zip) использовали свой формат файла — 7z. По функциональности этот формат многофайлового архива был похож на zip. К сожалению, из-за своих Windows-корней, формат 7z не поддерживал информацию о правах доступа в Unix-стиле, информацию о пользователях и группах, списки контроля доступа (ACL) и так далее. Эти ограничения серьёзно мешали выполнять резервное копирование на многопользовательских системах.
Затем, в 2004 году, Игорь Павлов выпустил пакет разработчика LZMA SDK (Software Development Kit). Хотя он предназначался авторам приложений, этот пакет также содержал небольшой самородок — утилиту командной строки lzma_alone. Её можно было использовать для создания lzma-файлов точно так же, как gzip и bzip2. В комбинации с tar она обеспечивала превосходное сжатие файлов при полной совместимости с Unix.
Менее чем через год после выхода LZMA SDK Лэсс Коллин (Lasse Collin) выпустил пакет LZMA Utils. Первоначально это был набор скриптов-обёрток к lzma_alone, который обслуживался утилитой lzma (с опциями командной строки, очень похожими на используемые программами gzip и bzip2, вместо менее распространённых опций в стиле p7zip, используемых утилитой lzma_alone). Позднее lzma была полностью переписана на Си. Затем, в 2009 году, Лэсс Коллин выпустил XZ Utils, основной утилитой которого была xz. Эта новая утилита продолжила использовать сжатие LZMA, но вместо генерации сырого потока LZMA-данных она «оформляла» результирующий поток данных в хорошо продуманный файловый формат, содержащий различные «магические байты» [magic bytes, фиксированные последовательности байтов в начале и конце файла, предназначенные для определения его типа и завершённости — прим.перев.], флаги потока [stream flags, два байта в заголовке, зарезервированные для изменения различных свойств потока; в настоящее время используются только для выбора алгоритма CRC — прим.перев.] и проверки контрольной суммы (CRC). Так был рождён формат файлов xz.
В 2008 году Антонио Диас (Antonio Diaz) выпустил подобную утилиту, названную lzip. Как и xz, она использует алгоритм LZMA, но создаёт файлы формата lz. Этот формат отличается некоторыми деталями, но в целом имеет много общего с файлами xz — «магические байты», CRC и т.п. Кроме того, lzip умеет создавать файлы, содержащие несколько членов [при повреждении архива все неповреждённые члены могут быть восстановлены — прим.перев.], и разбивать вывод на несколько томов заданного размера.
На момент подготовки этой статьи существовало четыре утилиты командной строки (и три формата файлов), которые используют LZMA, демонстрируя превосходные результаты сжатия файлов: lzma_alone Игоря Павлова, lzma и xz Лэсса Коллина и lzip Антонио Диаса. Значит ли это, что мы на пороге войны форматов, как это в своё время случилось с VHS и Betamax [форматы аналоговых видеокассет — прим.перев.]? Трудно сказать. (К счастью, в данном случае вы не ограничены возможностью использовать что-то одно. Это всего лишь утилиты, а не видеомагнитофоны. На вашем жёстком диске достаточно места, чтобы вместить их все. У меня есть все четыре.)
Сам я предпочитаю lzma_alone, поскольку она сопровождается человеком, который и изобрёл алгоритм LZMA, а потому понимает его лучше всех. Однако этот формат файла предоставляет минимум возможностей, в то время как xz и lzip предлагают значительные преимущества за счёт «магических байтов» и проверки целостности данных. Кроме того, lzma_alone сложно компилировать, и к ней нет man-страницы. XZ Utils компилировать проще всего (поскольку используется современный скрипт настройки на основе autotools), но ему в настоящее время недостаёт man-страницы для основных утилит xz и lzma. Lzip занимает промежуточное положение. Он требует некоторых ручных манипуляций, чтобы выставить нужные флаги компиляции, но зато оснащён замечательной man-страницей.
Когда-нибудь одна из этих утилит может занять доминирующее положение в области LZMA-сжатия, но на сегодняшний день вы можете встретить «в дикой природе» все три формата файлов. Я с этим знаком не по наслышке.
Как же эти утилиты сравнивать, если не по степени сжатия? Как показывает результат, между ними есть небольшая разница. Ниже приводится итоговая таблица, показывающая, как lzma_alone, xz, lzip, bzip2, gzip и compress обрабатывают tar-архив исходных кодов ghostscript-8.64. (Я исключил из сравнения lzma Лэсса Коллина, поскольку сейчас это просто символическая ссылка на xz.) Конкретные версии: lzma_alone-4.65, xz-4.999.8beta, lzip-1.5, bzip2-1.0.5, gzip-1.3.12 и ncompress-4.2.4.2.
gs.tar | 65 003 520 байт | (исходный файл) |
gs.tar.lzma | 12 751 330 байт | (159,05 с сжатие, 1,48 с распаковка) |
gs.tar.xz | 12 768 488 байт | (155,17 с сжатие, 1,54 с распаковка) |
gs.tar.lz | 12 804 165 байт | (161,12 с сжатие, 1,97 с распаковка) |
gs.tar.bz2 | 16 921 504 байт | (14,72 с сжатие, 3,45 с распаковка) |
gs.tar.gz | 19 336 239 байт | (7,31 с сжатие, 0,63 с распаковка) |
gs.tar.Z | 29 467 629 байт | (2,39 с сжатие, 0,78 с распаковка) |
Результаты сжатия, продемонстрированные тремя LZMA-утилитами, очень близки, lzma_alone опередила остальные совсем на чуть-чуть. Все три отработали лучше, чем bzip2, gzip и compress, хотя и гораздо медленнее. Распаковка lzip была на 30% медленнее, чем у оставшихся двух утилит на основе LZMA, но она всё равно заметно быстрее, чем bzip2.
Как же воспользоваться преимуществами, предоставляемыми этими новыми утилитами? Ну, если вам повезёт, для вашего дистрибутива будет доступна одна из них или несколько в виде прекомпилированных пакетов. Я работаю на Debian (Lenny) 5.0, для которого есть lzma_alone и ранняя версия пакета LZMA Utils Лэсса Коллина (который содержит lzma, но xz отсутствует). Утилиты, не предоставляемые вашим дистрибутивом, вы можете скачать в виде исходного кода и собрать самостоятельно. Ниже приведены ссылки на три основные программы:
Для тех, кто хочет собрать lzma_alone, я советую этот tar-архив: lzma_alone_patches.tar.bz2 , содержащий минимальный набор патчей, инструкции по сборке и man-страницу. Для его использования вам всё равно нужно скачать исходный LZMA SDK с упомянутого выше сайта. Что касается XZ Utils и Lzip, то там сборка и установка выполняется довольно просто.
Как можно преобразовать существующие архивы из одного формата сжатия в другой? Конечно же, с помощью конвейеров Unix. Ниже приведено несколько примеров:
А так эти предельно компактные файлы можно распаковать:
Те, кому нужно преобразовать много архивов, могут скачать и установить пакет littleutils . Этот пакет содержит три скрипта (to-lzma, to-xz и to-lzip), которые преобразуют сразу несколько файлов, сжатых gzip или bzip2, в формат lzma, xz или lz соответственно. Опция -k особенно полезна, поскольку позволяет удалять исходный файл только в том случае, если новый получается меньшего размера. Иначе исходный файл сохраняется. Чтобы преобразовать все gzip- и bzip2-архивы текущего каталога в формат lzma, просто выполните следующую команду:
После такой бесстыдной рекламы моих собственных программ, я завершу эту статью призывом к читателям начать использовать хотя бы одну из утилит, основанных на алгоритме LZMA. Особенно если вы распространяете сжатые tar-архивы. Файлы, сжатые с помощью алгоритма LZMA, требуют меньше времени на загрузку и меньше времени на распаковку (по крайней мере, по сравнению с bzip2). Даже в мире широкополосных интернет-подключений, сверхпроизводительных процессоров и необозримых жёстких дисков, эти утилиты позволят более рационально использовать время и пространство.
Об авторе
Брайан Линдхольм — выпускник Вирджинского Университета, инженер-механик в самом расцвете сил, начавший программировать на Бейсике на TRS-80 Model I (в далёком 1980 году). В конце восьмидесятых он перешёл на Паскаль и Си на IBM-совместимых машинах.
Все эти годы Брайана сильно раздражала нестабильность и дороговизна различных операционных систем от Microsoft. В особенности его бесило отсутствие полного контроля над системой. Но ему страшно повезло, что его сосед по комнате в институтской общаге использовал Linux (то были давние времена Linux 0.9 и Slackware 1.0). Это знакомство дало ему всё, чего ему не хватало.
Год за годом, медленно постигал он всё больше и больше, и теперь способен поддерживать эффективную и стабильную работу своей системы Debian (даже спустя четыре крупных обновления: с 2.2 на 3.0, затем на 3.1, 4.0 и, наконец, 5.0). [Важное замечание: его Debian никогда не «падал» сам по себе. НИКОГДА. Только из-за проблем с питанием, попыток загрузки с неправильного раздела, ошибочных нажатий на клавишу Reset, пиратских DVD и особенно из-за «психованного» IDE Zip-привода.] Он обожает vim и находит Perl весьма полезным в работе.
В свободное от Linux время Брайан, чтобы не умереть с голода, проектирует электрогенераторы (оборудование для больших электростанций), от случая к случаю записывает живую музыку, читает научную фантастику и старается почаще выбираться на «Аппалачскую тропу» [популярный туристический маршрут — прим.перев.].
Источник
📑 Шпаргалка по архиватору 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, номинальные значения должны быть близки к реальной частоте процессора.
Источник