Команда gunzip в linux

Обновлено: 05.07.2024

Архивирование и сжатие файлов позволят хранить те же самые данные при меньших затратах такого ресурса как постоянное хранилище (жёсткий диск, сменный накопитель, оптический диск и т. д.). Благодаря уменьшению размера, достигается не только экономия места на диске, но и ускорение передачи файлов по сети. В настоящее время, когда Интернет стал очень быстрым, а постоянные хранилища весьма объёмными и намного более дешёвыми чем в прошлом, важность сжатия файлов утратила свою прежнюю актуальность. Тем не менее, экономию места никто не отменял, да и зачастую нам приходится работать с уже сжатыми файлами, полученными из разных источников. Уже хотя бы поэтому необходимо иметь общее представления о работе с архивами в Linux: знать как их создавать, как их распаковывать, понимать разницу между архивированием и сжатием.

7zip — самый универсальный инструмент по работе с архивами

В зависимости от типа архивов, обычно, нужно вводить соответствующую команду с набором опций. Например, у нас есть архив archive.gz, чтобы его извлечь, нужно вспомнить команду gunzip. Т.е. команда выглядит так:

Если же у нас файл archive.bz2, то мы припоминаем, что распаковывается этот архив программой bunzip2 Т.е. теперь нам нужно вводить такую команду:

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

Прелесть 7zip в том, что она поддерживает множество архивов (7z, XZ, GZIP, TAR, ZIP, BZIP2, LZMA2, CAB, ARJ, CPIO, RPM, ISO и DEB), т. е. независимо от типа сжатия и архивации, нам достаточно набрать команду

И это справедливо для любого поддерживаемого архива:

Думаю, идея понятна.

Как установить 7zip и как его использовать (с расшифровкой всех доступных опций) описано в этой статье.

Создание и распаковка архивов .zip: программы zip и unzip

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

Чтобы в архив добавлялось содержимое каталогов, а не только их название, нужно использовать ключ -r

Для распаковки архивов zip

Чтобы посмотреть список содержимого архива (но не распаковывать его) можно сделать так:

Извлечь и посмотреть содержимое отдельных папок, файлов можно так

Различия сжатия и архивирования

Архивирование — это объединение нескольких файлов в один. Размер конечного (большого) файла равен сумме входящих в него файлов.

Сжатие — это уменьшение размера файла за счёт использования того или иного алгоритма.

На Windows эти операции, обычно, объединены в одну, которую называют архивацией. Также в одну операцию делает это 7zip и zip.

Для Linux есть команды, которые делают это раздельно, либо которые делают это в одно действие.

Создание и распаковка файлов в формате .gz: gzip и gunzip

Команда gzip осуществляет сжатие по одному файлу. Если ей передать в качестве аргумента папку, то она её проигнорирует. Если передать папку и соответствующий ключ -r, то она сожмёт каждый файл по отдельности, т. е. создаст много отдельных архивов.

Эти файлы будут иметь расширение .gz, распаковать их можно командой gunzip.

Создание и распаковка файлов в формате .bz2: bzip2 и bunzip2

Всё, что было сказано о программе gzip — сжатие по одному файлу — относится и к программе gzip. Различается только алгоритм сжатия — сжимает лучше.

При сжатии создаются файлы .bz2, распаковать их можно командой bunzip2.

Архивирование программой tar

«Чистые» архивы tar (они имеют расширение .tar) — это один файл, в котором без сжатия объединено несколько файлов.

Создаются они так:

Вместо одного каталога можно передать файл/список файлов/директорию/список директорий.

Ключ c означает создать архив, а после ключа f задаётся имя архива.

Чтобы посмотреть содержимое архива, нужно набрать команду

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

Если набрать так, то будет больше подробностей:

Распаковываются .tar архивы так:

Новый ключ x означает распаковку.

Ещё можно сделать так:

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

Сжатие архивов tar с помощью gzip и bzip2

Создание сжатых архивов .tgz и .tar.gz

Расширения .tgz и .tar.gz означают одно и то же и означают они архив tar, которых сжали по алгоритму gzip . Т.е. можете выбрать то расширение, которое вам больше нравится. Создать сжатый архив tar с использованием сжатия gzip можно так

Здесь новая опция z, которая и указывает на применяемый для сжатия алгоритм.

Чтобы распаковать архивы .tgz и .tar.gz:

Создание сжатых архивов .bzip2 и .tar.bz2

Расширения .bzip2 и .tar.bz2 означают одно и то же - сжатый по алгоритму bzip2 архив tar . Для создания сжатого архива tar с применением алгоритма сжатия bzip2 нужно набрать следующую команду:

Новая опция — j, означает выбор метода сжатия bzip2.

Favorite

Добавить в избранное

Главное меню » Операционная система Linux » Команда gunzip в Linux с разъяснениями с примерами

(1 оценок, среднее: 5,00 из 5)

Команда Gunzip в Linux с разъяснениями с примерами

Д ля начала, есть инструмент такой как команда gzip, которая используется для сжатия или распаковки файлов. Чтобы распаковывать, команда предлагает опцию командной строки -d, которая может быть использована следующим образом:

Тем не менее, есть совершенно другой инструмент, который можно использовать для разжатия или сжатия архивов, созданных Gzip. Это инструмент gunzip. В этой статье мы рассмотрим команду gunzip, используя некоторые легко понятные примеры. Пожалуйста, обратите внимание, что все примеры/инструкции, указанные в руководстве были протестированы на Ubuntu 16.04.

Команда Gunzip в Linux

Итак, теперь мы знаем, что сжатые файлы могут быть восстановлены с помощью либо «gzip -d» или команда gunzip. Основной синтаксис gunzip является:

Следующие примеры должны дать вам лучшее представление о том, как работает инструмент:

Вопрос 1. Как распаковывать архивы с помощью Gunzip?

Вопрос 2. Как не удалять архивный файл в Gunzip?

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

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

Q3. Как указать Gunzip упаковать файл в другой каталог?

Мы уже обсуждали опцию -c в предыдущем вопросе. Для того, чтобы указать Gunzip сжать файл в определенный каталог, отличном от рабочего каталога, просто укажите абсолютный путь после оператора перенаправления.

Больше информации

Вывод

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.


Но сначала давайте сжимаем файл с помощью команды gzip. Синтаксис будет следующим

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

Давайте теперь посмотрим, как мы можем распаковать файлы.

1) Распакуйте файлы с помощью команды Gzip

В дополнение к сжатию файлов, команда gzip может также использоваться для распаковки файлов. Синтаксис для распаковки файла:

Чтобы распаковать файлы рекурсивно в папке, добавьте флаг -r, как показано

2) Распакуйте файлы с помощью команды Gunzip

Как только gunzip распаковывает файл, расширение удаляется.

Файл file_name.gz изменится на file_name и будет расширен до максимального размера.

3) Показать подробный вывод декомпрессии

Чтобы отобразить подробный вывод, добавьте флаг -v, как показано ниже

4) Сохраняйте сжатый файл и распакованный

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

Теперь у вас будет два файла: filename & filename.gz

5) Показать вывод сжатого файла без предварительной распаковки

Чтобы показать вывод сжатого файла перед распаковкой, запустите

6) Для отображения дополнительной информации о сжатом файле

Чтобы получить больше информации о сжатом файле

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

  • Сжатый размер
  • Несжатый размер
  • Коэффициент сжатия
  • Несжатое имя

Эта информация полезна при работе с файлами большого размера, особенно если у вас мало места на диске.

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

7) Рекурсивно распаковывать много файлов

Чтобы достичь этого, запустите

office_files

2018 Report

8) Распаковать все файлы в каталоге

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

9) Проверьте, является ли сжатый файл допустимым файлом, сжатым с помощью gzip

Для этого запустите

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

Команда gunzip предназначена для восстановления оригинальных версий файлов, которые были сжаты с помощью утилиты gzip, использующей алгоритм Лемпела-Зива (LZ77) с кодированием Хаффмана. Упомянутый алгоритм позволяет достичь меньшей степени сжатия данных, чем те, которые реализованы в рамках утилит bzip2 и xz. При этом операция декомпрессии является практически такой же нересурсоемкой, как и операция компрессии.

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

Команда gunzip является ничем иным, как символьной ссылкой на утилиту gzip с параметром -d. Чаще всего она используется вообще без каких-либо параметров, причем в качестве аргументов может передаваться неограниченное количество имен сжатых файлов, оригинальные версии которых следует восстановить. По умолчанию сжатые версии файлов заменяются на их оригинальные версии с соответствующими метаданными (то есть, меткой времени модификации, правами доступа, именами владельца и группы владельцев и так далее). Если вас не устраивает такое положение дел, вы можете воспользоваться параметром -k для сохранения сжатых версий файлов. Параметр -t предназначен для тестирования целостности сжатого файла и не оказывает какого-либо влияния на него (следует комбинировать его с параметром -v для подробного вывода). Параметр -l также не оказывает никакого влияния на сжатый файл и предназначен для получения информации об архиве (размеров сжатого и не сжатого файлов, степени сжатия и имени оригинального файла).

Если же вам нужно восстановить оригинальные версии файлов из архива с несколькими файлами внутри, вы не сможете обойтись одной командой gunzip. Для этой цели также понадобится утилита tar, с помощью которой можно извлечь файлы из архива, сжатого с помощью утилиты gzip. Например, вы можете использовать следующую последовательность команд для распаковки архива с именем archive.tar.gz:

Параметры -x и -f утилиты tar предназначены для указания на необходимость извлечения всех файлов из архива (-c) и чтения имени файла архива из следующего аргумента (-f). Альтернативным вариантом является замена первой команды на параметр -z утилиты tar, позволяющий автоматически восстановить оригинальную версию файла архива с помощью gunzip:

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

1. Восстановление оригинальной версии одного файла

В результате сжатая версия файла text.txt.gz будет заменена на его оригинальную версию text.txt.

2. Одновременное восстановление оригинальных версий нескольких файлов

В этом случае также все сжатые версии файлов (text1.txt.gz, text2.txt.gz, text3.txt.gz) будут заменены на оригинальные версии (text1.txt, text2.txt, text3.txt). Распаковка сжатого файла архива будет рассмотрена ниже.

3. Восстановление оригинальной версии файла с сохранением сжатой версии

Теперь сжатая версия файла text.txt.gz будет оставлена в директории вместе с оригинальной версией text.txt.

4. Распаковка сжатого архива

В результате в текущей директории будут сохранены все файлы из архива etc.tar.gz.

5. Проверка целостности сжатой версии файла

6. Получение информации о сжатом файле

Очевидно, что в столбце compressed выводится размер сжатого файла в байтах, в столбце uncompressed — размер несжатого файла в байтах, в столбце ratio — степень сжатия файла, а в столбце uncompressed_name — имя оригинального файла. Вся эта информация хранится в заголовке сжатого файла.

Читайте также: