Команда 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

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
в этом руководстве.
Теперь хотелось бы услышать ваши мысли.
Было ли это руководство полезно для вас?
Или, может быть, у вас есть вопросы.
Разве я не включил в это руководство какую-либо команду?
Оставьте комментарий ниже.