0Pricing
Linux Command Line & Bash Scripting Mastery · Урок

Архивирование и сжатие (tar, gzip, unzip)

Научитесь создавать, извлекать содержимое и сжимать архивы с помощью стандартных инструментов Linux, таких как «tar», «gzip» и «unzip».

«Архивирование и сжатие (tar, gzip, unzip)» — бесплатный урок Linux Command Line & Bash Scripting Mastery на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Linux Command Line & Bash Scripting Mastery, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Linux Command Line & Bash Scripting Mastery содержит 4 уроков всего.

Зачем архивировать и сжимать?

При работе с большим количеством файлов или большими файлами архивация и сжатие становятся особенно полезными!

  • Архивация объединяет несколько файлов в один файл, упрощая их управление, перемещение и резервное копирование.
  • Сжатие уменьшает размер файла или архива, экономя место на диске и ускоряя передачу по сетям.

Эти инструменты необходимы для эффективного управления файлами в Linux.

Знакомство с tar для архивации

Команда tar (сокращение от Tape ARchiver) — стандартный инструмент Linux для объединения файлов и каталогов в один архивный файл.

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

Создание архива tar

Чтобы создать архив .tar, используйте параметры -c (создание), -v (подробный вывод, отображает ход выполнения) и -f (имя файла).

Давайте создадим архив с именем my_files.tar, содержащий file1.txt и file2.txt.

echo "Content for file1" > file1.txt
echo "Content for file2" > file2.txt

tar -cvf my_files.tar file1.txt file2.txt

ls -l

Извлечение из архива tar

После создания архива .tar часто требуется извлечь его содержимое. Для этого используется параметр -x (извлечение) вместе с -v и -f.

Давайте удалим исходные файлы, а затем извлечём их из нашего архива my_files.tar.

rm file1.txt file2.txt

tar -xvf my_files.tar

ls -l

Просмотр содержимого архива tar

Иногда нужно просто посмотреть, что находится внутри архива, не извлекая всё содержимое. Для этого отлично подходит параметр -t (список).

Он показывает имена файлов и каталогов, хранящихся внутри файла .tar.

tar -tvf my_files.tar

Знакомство с gzip для сжатия

gzip — популярная утилита Linux для сжатия отдельных файлов. Обычно она заменяет исходный файл сжатой версией с расширением .gz.

Сжатый файл занимает меньше места на диске и быстрее передаётся.

Сжатие с помощью gzip

Чтобы сжать файл, просто запустите gzip, указав имя файла. Исходный файл будет заменён сжатой версией с расширением .gz.

Давайте сожмём наш архив my_files.tar.

gzip my_files.tar

ls -l

Распаковка с помощью gunzip

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

Давайте распакуем my_files.tar.gz обратно в my_files.tar.

gunzip my_files.tar.gz

ls -l

Объединение tar и gzip

Очень часто архивацию и сжатие выполняют за один шаг. В tar есть встроенный параметр -z для использования gzip при сжатии.

В результате создаётся файл .tar.gz (или .tgz) — архив tar, сжатый с помощью gzip. Это часто самый эффективный способ упаковать файлы.

echo "Another file" > another.txt

tar -czvf my_combined.tar.gz file1.txt file2.txt another.txt

ls -l

Быстрая проверка: извлечение объединённых архивов

У Вас есть файл с именем project_docs.tar.gz. Какая команда правильно извлечёт его содержимое?

Итоги: архивация и сжатие

Отличная работа! Вы научились работать с архивами и сжатыми файлами в Linux:

  • tar: используется для создания (-c), извлечения (-x) и просмотра содержимого (-t) архивных файлов (.tar).
  • gzip: сжимает отдельные файлы в формат .gz.
  • gunzip: распаковывает файлы .gz.
  • Параметр -z команды tar позволяет создавать или извлекать архивы .tar.gz (или .tgz), объединяя архивацию и сжатие с помощью gzip.

Эти команды необходимы для эффективного управления файлами в любой системе Linux!

Часто задаваемые вопросы

Урок «Архивирование и сжатие (tar, gzip, unzip)» бесплатный?

Да — полный текст урока «Архивирование и сжатие (tar, gzip, unzip)» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Linux Command Line & Bash Scripting Mastery, подпишись на CoddyKit PRO. Курс Linux Command Line & Bash Scripting Mastery содержит 4 уроков всего.

Чему я научусь в уроке «Архивирование и сжатие (tar, gzip, unzip)»?

Научитесь создавать, извлекать содержимое и сжимать архивы с помощью стандартных инструментов Linux, таких как «tar», «gzip» и «unzip». Ты практикуешь Linux Command Line & Bash Scripting Mastery с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Linux Command Line & Bash Scripting Mastery?

Предыдущий опыт не требуется. Linux Command Line & Bash Scripting Mastery на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Архивирование и сжатие (tar, gzip, unzip)»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Linux Command Line & Bash Scripting Mastery?

Да. Каждый урок Linux Command Line & Bash Scripting Mastery включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Расширенная обработка текста (sed, awk)
  2. Архивирование и сжатие (tar, gzip, unzip)
  3. Использование диска и сведения о системе (df, du, uname)
  4. Сортировка и удаление дубликатов в данных (sort, uniq, cut)
← Назад к Linux Command Line & Bash Scripting Mastery