Команда Gzip в Linux с примерами

Сегодня вы узнаете, как сжимать файлы в Linux с помощью команды gzip.

Что такое сжатие файлов?

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

Зачем нам нужно сжимать файл или каталог?

Сжатые файлы имеют много преимуществ. Здесь я объяснил некоторые из них:

  • Сжатый файл занимает меньше места на жестком диске.
  • Если вы планируете отправить несколько файлов по электронной почте (при условии, что имеется 100 файлов), это неправильный способ прикреплять каждый файл по отдельности в виде вложения электронной почты, и это может превышать размер вложения, разрешенный вашим администратором электронной почты.

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

  • Когда мы передаем голые файлы через Интернет, вероятность их повреждения возрастает. Вот почему вы всегда должны сжимать и передавать важные файлы.

В Linux есть несколько способов сжатия файлов и каталогов. Самые популярные инструменты:

Предлагаемое чтение: Команда Bzip2 в Linux с примерами

В этом руководстве мы собираемся обсудить полные возможности команды gzip с примерами.

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

Но объединив его с tar command, вы также можете сжимать каталоги.

Предлагаемое чтение: Команда Tar в Linux с примерами

Особенности команды gzip:

  • Сжатие и распаковка (извлечение) файла
  • Уменьшает размер файла
  • Показать содержимое сжатого файла
  • Проверяет целостность сжатого файла
  • Перечисляет каждый сжатый файл

Как определить файл gzip?

Вы можете определить gzip файл по его расширению. Расширение файла gzip является .gz

Прежде всего, давайте сосредоточимся на некоторых из наиболее важных опций, которые мы можем использовать с gzip команда.

Параметры Объяснение
-c, —stdout Пишите на стандартный вывод, сохраняйте исходные файлы без изменений
-d, —decompress Распаковать (извлечь файл)
-f, —force Принудительная перезапись выходного файла и сжатие ссылок
-h, —help Отображение страницы справки команды Gzip
-k, —keep Сохранять (не удалять) входные файлы
-l, —list Список сжатого содержимого файла
-L, —license Отображение информации о лицензии на программное обеспечение
-n, —no-name Не сохраняйте и не восстанавливайте исходное имя и отметку времени
-N, —name Сохранить или восстановить исходное имя и отметку времени
-q, —quiet Подавить все предупреждения
-r, —recursive Рекурсивно работать с каталогами
-S, —suffix = СУФ Используйте суффикс SUF для сжатых файлов
-t, —test проверить целостность сжатого файла
-v, —verbose Подробный режим
-V, —version Показать номер версии
-1, —быстро Сжать быстрее
-9, — лучший Сжать лучше
—rsyncable Сделайте архив, удобный для rsync

Синтаксис:

Вы должны следовать синтаксису ниже, чтобы использовать gzip команда.

gzip [OPTION]... [FILE]...

1. Сжать файл

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

Здесь я сжимаю файл с именем file.txt.

~$ gzip file.txt

Выход:

~$ ls
file.txt.gz
Сжать файл с помощью команды gzip

2. Сжать несколько файлов.

Вы можете сжать несколько файлов, используя gzip.

Чтобы сжать несколько файлов, передайте имена файлов в gzip. Здесь я сжимаю файлы с именами file.txt, file1.txt, file2.txt, file3.txt, file4.txt

~$ gzip file.txt file1.txt file2.txt file3.txt file4.txt

Выход:

~$ ls
file1.txt.gz  file2.txt.gz  file3.txt.gz  file4.txt.gz  file.txt.gz
Несколько сжатых файлов

Вы также можете использовать подстановочные знаки с gzip. Возьмем несколько примеров:

Бывший. # 1 Сжимайте файлы с расширением «.текст«.

~$ gzip *.txt

Бывший. # 2 Сжимайте те файлы, которые начинаются с «быть«.

~$ gzip fi*

3. Сохранять (не удалять) входные файлы

gzip по умолчанию удаляет входной файл после сжатия.

Но если вы хотите сохранить входные файлы во время сжатия, то передайте -k возможность gzip.

~$ gzip -k file.txt

Выход:

~$ ls
file.txt  file.txt.gz

Кстати, -c опция помогает объединить содержимое нескольких файлов.

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

Вот пример.

Синтаксис:

gzip -c [INPUT FILE] > [OUTPUT FILE]
~$ gzip -c file.txt > newfile.txt.gz

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

В этом примере я объединяю содержимое file.txt а также file1.txt.

~$ gzip -c file1.txt >> newfile.txt.gz

Теперь, чтобы распаковать файл, введите следующую команду.

~$ gzip -d newfile.txt.gz

Выход:

~$ ls
newfile.txt

~$ cat newfile.txt 
Linux is a Open Source Operating System.
I Love Linux

4. Рекурсивно сжать все файлы в каталоге.

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

Вот несколько файлов внутри каталога с именем данные.

~/data$ ls
file1.txt  file2.txt  file3.txt  file4.txt  file5.txt  file.txt

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

~$ gzip -r data/

Выход:

~$ ls data/
file1.txt.gz  file2.txt.gz  file3.txt.gz  file4.txt.gz  file5.txt.gz  file.txt.gz

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

Чтобы проверить целостность сжатого файла, пройдите -t возможность gzip Команда.

Вам должно быть интересно, что это за целостность.

Целостность означает, что мы можем проверить, .gz файл действителен или нет.

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

Позвольте мне показать вам пример.

Что, если я создам .gz файл с использованием mv команда. См. Следующую команду.

~$ mv file.txt file.txt.gz

Теперь проверим целостность этого файла.

Выход:

~$ gzip -t file.txt.gz 

gzip: file.txt.gz: unexpected end of file

Как видно из выходных данных выше, мы получили сообщение об ошибке «неожиданный конец файла”Потому что мы не создали этот файл с помощью команды gzip.

Действительный .gz файл отобразит следующий результат.

~$ gzip -tv file1.txt.gz 
file.txt.gz:	 OK

6. Перечислите каждый сжатый файл.

В List каждый сжатый файл проходит через -l возможность gzip.

~$ gzip -l file.txt.gz 
         compressed        uncompressed  ratio uncompressed_name
                 29                   0   0.0% file.txt

Для получения более подробной информации вы можете объединить -l с участием -v. См. Следующий пример.

~$ gzip -lv file.txt.gz 
method  crc     date  time           compressed        uncompressed  ratio uncompressed_name
defla 00000000 Jun 30 07:03                  29                   0   0.0% file.txt

7. Распаковать (извлечь) файл

Чтобы распаковать (извлечь) a .gz файл передать -d возможность gzip.

~$ gzip -d file.txt.gz

ИЛИ вы можете использовать gunzip команда для извлечения .gz файл.

~$ gunzip file.txt.gz

8. Распаковать несколько файлов.

Чтобы распаковать несколько файлов, передайте имена файлов в gzip. Здесь я распаковываю файлы с именами file1.txt, file2.txt, file3.txt, file4.txt, file.txt.

~$ gzip -d file1.txt.gz  file2.txt.gz  file3.txt.gz  file4.txt.gz  file.txt.gz

Вы также можете использовать подстановочные знаки с gzip. Возьмем несколько примеров:

Бывший. # 1 Распакуйте те файлы с расширением «.gz«

~$ gzip -d *.gz

Бывший. # 2 Распакуйте те файлы, которые начинаются с «быть«

~$ gzip -d fi*

9. Принудительно перезаписать существующие файлы вывода.

gzip Команда позволяет нам принудительно перезаписывать существующие выходные файлы.

Для этого передайте -f возможность gzip команда.

Возьмем пример.

Перезаписать существующий выходной файл при сжатии:

У меня есть файл с именем file.txt и сжатая версия этого файла file.txt.gz

~$ ls
file.txt  file.txt.gz

По какой-то причине я снова хочу сжать тот же файл, используя gzip. Итак, давайте сделаем это.

~$ gzip file.txt 
gzip: file.txt.gz already exists; do you wish to overwrite (y or n)? 

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

Здесь вы можете войти y Перезаписать файл.

ИЛИ Если вы хотите продолжить работу без такого уведомления, вы можете использовать -f вариант.

~$ gzip -f file.txt

Перезаписать существующий выходной файл при распаковке:

Точно так же перезаписать существующий выходной файл при распаковке с помощью -f вариант.

~$ gzip -df file.txt.gz

10. Уровни сжатия команд gzip

gzip позволяет сжимать файлы, используя несколько уровней сжатия от 1 до 9.

Если вы не укажете уровень с gzip команда, тогда она использует сжатый уровень -6 для сжатия файлов.

Сжать быстрее:

Вы можете использовать -1 для максимальной скорости сжатия с меньшей степенью сжатия.

~$ gzip -1 file.txt

Сжать лучше:

Вы можете использовать -9 для самой низкой скорости сжатия при максимальной степени сжатия.

~$ gzip -9 file.txt

11. Отображение вывода команды

Чтобы отобразить подробный вывод команды, передайте -v возможность gzip.

Пример # 1

~$ gzip -v file.txt 
file.txt:	  2.4% -- replaced with file.txt.gz

Пример # 2

~/data$ gzip -dv file.txt.gz 
file.txt.gz:	  2.4% -- replaced with file.txt

12. Отображение содержимого сжатого файла.

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

Возьмем пример:

У меня есть файл с именем file.txt с некоторым содержанием. Чтобы отобразить содержимое этого файла, вы можете использовать cat команда.

Дополнительные сведения о команде cat см. В нашем руководстве:

~$ cat file.txt 
Linux is a Open Source Operating System.

Сжимаем файл, используя gzip команда.

~$ gzip file.txt

Теперь, чтобы отобразить содержимое file.txt.gz с использованием zcat введите следующую команду.

~$ zcat file.txt.gz 
Linux is a Open Source Operating System.

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

В этом примере я показываю содержимое файлов с именем file1.txt.gz а также file.txt.gz

~/data$ zcat file1.txt.gz file.txt.gz 
I Love Linux
Linux is a Open Source Operating System.

13. Отобразите страницу справки команды gzip.

Используйте следующие команды для доступа к странице руководства / странице справки gzip команда.

~$ gzip --help
~$ man gzip

14. Лицензия на программное обеспечение дисплея

Для отображения информации о лицензии на программное обеспечение gzip использование команды -L вариант.

~$ gzip -L

15. Показать версию

Проверить gzip версию команды, используя следующую команду.

~/data$ gzip -V

Вы можете посетить следующие веб-сайты, чтобы получить дополнительную информацию о gzip.

Инфографика

Обратитесь к этой инфографике для полной gzip параметры команды.

Инфографика команды Gzip

Заключение

Надеюсь, вы кое-что узнали из этой статьи.

Я изо всех сил старался включить все функции gzip в этом руководстве.

Теперь хотелось бы услышать ваши мысли.

Было ли это руководство полезно для вас?

Или, может быть, у вас есть вопросы.

Разве я не включил в это руководство какую-либо команду?

Оставьте комментарий ниже.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован.