Команды Linux · 3 min read · Sep 15, 2025

Команда tar в Linux: объяснение

Команда tar в Linux — это швейцарский армейский нож для администраторов Linux, когда дело касается архивирования или распространения файлов. Архивы Gnu Tar могут содержать несколько файлов и каталогов, права доступа к файлам могут быть сохранены, и поддерживаются несколько форматов сжатия. Название tar расшифровывается как “ T ape Ar chiver”, формат является официальным стандартом POSIX.

Форматы файлов tar

Краткое введение в уровни сжатия tar.

  • Без сжатия Непосредственные файлы имеют окончание .tar.
  • Сжатие Gzip Формат Gzip является наиболее широко используемым форматом сжатия для tar, он быстр для создания и извлечения файлов. Файлы с сжатием gz обычно имеют окончание .tar.gz или .tgz. Ниже вы найдете несколько примеров того, как создать и извлечь файл tar.gz.
  • Сжатие Bzip2 Формат Bzip2 предлагает лучшее сжатие, чем формат Gzip. Создание файлов происходит медленнее, окончание файла обычно .tar.bz2.
  • Сжатие Lzip (LZMA) Сжатие Lzip сочетает скорость Gzip с уровнем сжатия, который аналогичен Bzip2 (или даже лучше). Несмотря на эти хорошие характеристики, этот формат не широко используется.
  • Сжатие Lzop Этот вариант сжатия, вероятно, является самым быстрым форматом сжатия для tar, он имеет уровень сжатия, аналогичный gzip, и не широко используется.

Общие форматы — tar.gz и tar.bz2. Если ваша цель — быстрое сжатие, используйте gzip. Когда размер архивного файла критичен, используйте tar.bz2.

Для чего используется команда tar?

Вот несколько распространенных случаев использования команды tar.

  • Резервное копирование серверов и рабочих столов.
  • Архивирование документов.
  • Распространение программного обеспечения.

Установка tar

Команда установлена по умолчанию на большинстве систем Linux. Вот инструкции по установке tar в случае, если команда отсутствует.

CentOS

Выполните следующую команду от имени пользователя root в оболочке, чтобы установить tar на CentOS.

yum install tar

Ubuntu

Эта команда установит tar на Ubuntu. Команда “sudo” гарантирует, что команда apt выполняется с правами root.

sudo apt-get install tar

Debian

Следующая команда apt устанавливает tar на Debian.

apt-get install tar

Windows

Команда tar доступна и для Windows, вы можете скачать ее с проекта Gunwin. http://gnuwin32.sourceforge.net/packages/gtar.htm

Создание файлов tar.gz

Вот команда tar, которую необходимо выполнить в оболочке. Я объясню параметры командной строки ниже.

tar pczf myarchive.tar.gz /home/till/mydocuments

Эта команда создает архив myarchive.tar.gz, который содержит файлы и папки из пути /home/till/ mydocuments. Параметры командной строки объяснены:

  • [p] Этот параметр означает “сохранить”, он инструктирует tar сохранять детали о владельце файла и правах доступа к файлам в архиве.
  • [c] Обозначает создать. Этот параметр обязателен при создании файла.
  • [z] Параметр z включает сжатие gzip.
  • [f] Параметр файла указывает tar создать архивный файл. Tar отправит вывод в stdout, если этот параметр опущен.

Примеры команды tar

Пример 1: Резервное копирование каталога /etc Создайте резервную копию конфигурационного каталога /etc. Резервная копия хранится в корневой папке.

tar pczvf /root/etc.tar.gz /etc

Резервное копирование каталога /etc с помощью tar.

Команду следует выполнять от имени root, чтобы гарантировать, что все файлы в /etc включены в резервную копию. На этот раз я добавил параметр [v] в команду. Этот параметр означает подробный, он инструктирует tar показывать все имена файлов, которые добавляются в архив. Пример 2: Резервное копирование вашего каталога /home Создайте резервную копию вашего домашнего каталога. Резервная копия будет храниться в каталоге /backup.

tar czf /backup/myuser.tar.gz /home/myuser

Замените myuser на ваше имя пользователя. В этой команде я опустил переключатель [p], поэтому права доступа не сохраняются. Пример 3: Резервное копирование баз данных MySQL на основе файлов Базы данных MySQL хранятся в /var/lib/mysql на большинстве дистрибутивов Linux. Вы можете проверить это с помощью команды:

ls /var/lib/mysql

Резервное копирование MySQL на основе файлов с помощью tar.

Остановите сервер базы данных, чтобы получить согласованное резервное копирование файлов MySQL с помощью tar. Резервная копия будет записана в папку /backup. 1) Создайте папку резервного копирования

mkdir /backup
chmod 600 /backup
  1. Остановите MySQL, выполните резервное копирование с помощью tar и снова запустите сервер базы данных.
service mysql stop
tar pczf /backup/mysql.tar.gz /var/lib/mysql
service mysql start
ls -lah /backup

Резервное копирование MySQL на основе файлов.

Извлечение файлов tar.gz

Команда для извлечения файлов tar.gz:

tar xzf myarchive.tar.gz

Параметры команды tar объяснены

  • [x] x означает извлечение, он обязателен, когда файл tar должен быть извлечен.
  • [z] Параметр z указывает tar, что архив, который должен быть распакован, находится в формате gzip.
  • [f] Этот параметр инструктирует tar читать содержимое архива из файла, в данном случае из файла myarchive.tar.gz.

Вышеуказанная команда tar будет тихо извлекать файл tar.gz, она будет показывать только сообщения об ошибках. Если вы хотите увидеть, какие файлы извлекаются, добавьте параметр “v”.

tar xzvf myarchive.tar.gz

Параметр [v] означает подробный, он будет показывать имена файлов во время их распаковки.

Извлечение файла tar.gz.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.