Реклама ООО Таймвэб
Реклама ООО Таймвэб
Реклама ООО Таймвэб

Команда tar: архивация, распаковка и сжатие файлов в Linux

4 комментария
Команда tar и другие методы распаковки в Linux

По умолчанию в системах Unix/Linux включен встроенный архиватор tar, позволяющий запаковывать/распаковывать архив и выполнять много других операций с заархивированными файлами. В его функционал не входит компрессия, но он отлично работает с такими утилитами, как Gzip и BZip2 – с помощью них и выполняется сжатие файлов.

В сегодняшней статье мы подробно разберем основные функции команды tar, а также рассмотрим, как работать с архивами в Linux-системе. 

Tar: основные функции и синтаксис

Начнем с синтаксиса – он довольно прост. Если вы когда-либо работали в консольном окне, то вопросов возникнуть не должно. Создание нового архива выполняется следующей строчкой кода:

tar <функции> archive.tar <архивируемые файлы>

Распаковка файлов тоже выполняется просто:

tar <функции> <имя архива>

Основные опции:

  • -A, --concatenate – позволяет добавить уже существующий архив к другому;
  • -c, --create – создает новый архив и записывает в него файлы;
  • -d – расшифровывается как -diff или -delete, где первая команда проверяет различия между архивами, вторая – удаляет данных из архива;
  • -r, append – добавляет новые файлы в конец заархивированного документа;
  • -t, --list – разрешает посмотреть содержимое архива, формат аналогичен ls –l; если файлы не указаны, то выводит информацию обо всех файлах;
  • -u, --update – обновление файлов в созданном архиве с тем же наименованием;
  • -x, --extract – распаковывает файлы из заархивированного документа.

Мы также можем использовать особые параметры, относящиеся к каждой опции:

  • -c dir, --directory=DIR – перед тем как выполнить операцию, директория будет изменена на dir;
  • -f file, --file – выводит результат в file;
  • -p, --bzip2 – сохраняет все права доступа;
  • -v – расшифровывается как -verbose или -totals: выводит всю информацию о текущем процессе и показывает сведения об уже завершенном процессе.

Как мы говорили ранее, tar также хорошо взаимодействует с утилитами сжатия. Для их использования предназначены отдельные опции:

  • -a, -auto-compress – выбирает программу для сжатия данных;
  • -I, -use-compress-program=PROG – позволяет фильтровать архив с помощью утилиты PROG, для которой требуется использование опции -d;
  • -j, -bzip2 – сжимает архив с помощью программы bzip2;
  • -J, -xz – сжимает архив с помощью программы XZ;
  • -Izip – сжимает архив с помощью программы Lzip;
  • -Izma – сжимает архив с помощью программы Izma;
  • -z, -gzip, -gunzip, -ungzip – сжимает архив с помощью программы GZIP;
  • -Z, -compress, -uncompress – использование компрессии.

У команды tar есть еще много возможностей – чтобы их посмотреть, достаточно в консольном окне ввести команду tar --help. О том, как воспользоваться наиболее важными опциями и поработать с архивацией данных, мы поговорим в следующем разделе.

Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться

Как воспользоваться архиватором tar

Для работы с архиватором будем использовать сборку Kali Linux. Данный алгоритм подойдет и для других версий Unix/Linux, поэтому можете просто следовать инструкциям, чтобы прийти к тому же результату.

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

Архивируем файлы

Чтобы добавить один или несколько файлов в архив через консольное окно, нам потребуется сначала прописать пути, чтобы система понимала, откуда брать файлы. Сделать это довольно просто: указываем в консоли путь до директории, в которой находятся файлы. В нашем случае это /home/kali/.

Как сменить директорию в консоли Kali Linux

Для архивации вводим команду типа:

tar -cf <наименование будущего архива с расширением .tar> <имя архивируемого файла>

Как заархивировать файл в Kali Linux

В результате будет создан архив в исходной папке – перейдем в нее и убедимся, что все прошло корректно:

Как архивировать файлы через консоль в Linux

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

Как создать архив tar в Linux Kali

Как видите, создать tar-архив в Linux совсем не сложно. Если вам нужно заархивировать несколько документов через консоль, то просто пропишите их имена с использованием пробела.

Распаковываем tar-файлы

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

tar -xvf archive.tar

Как разархивировать файл в консоли линукса

Таким образом будут получены файлы, находящиеся в архиве. Также мы можем их достать и ручным способом – для этого достаточно кликнуть правой кнопкой мыши по файлу и нажать на «Извлечь здесь».

Как работать со сжатием файлов

Напоминаю, что tar не сжимает файлы, а только добавляет их в архив. Для уменьшения размера архивируемых файлов потребуется дополнительно воспользоваться такими утилитами, как bzip2 и gzip. Они хорошо взаимодействуют с tar, поэтому в консольном окне достаточно прописать несколько новых значений. В ручном режиме сжатие файлов выполняется с помощью расширения .tar.bz2 или .tar.gz.

Итак, для сжатия в bzip2 переходим через консоль в нужную директорию и прописываем следующую команду:

tar -cjvf <название нового архива с расширением .tar.bz2> <наименование файла/файлов>

Как сжать файлы в Linux Kali

Чтобы использовать gzip, другую утилиту для сжатия, вводим следующее:

tar -czvf <название нового архива с расширением .tar.gz> <наименование файла/файлов>

Как создать сжатый архив в Linux Kali

Для распаковки файлов такого типа используйте:

tar -xjvf <наименование архива в формате .tar.bz2> 

Или:

tar -xzvf <наименование архива в формате .tar.gz>

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

Как создать сжатый архив в Linux Kali

Распаковать файлы самостоятельно тоже просто – для этого нужно кликнуть правой кнопкой по архиву и выбрать «Извлечь здесь».

Как посмотреть содержимое архива

Мы можем посмотреть, что находится в архиве без его распаковки. В консоли для этого необходимо ввести команду такого типа:

tar -tf <название архива>

Как посмотреть содержимое архива через консоль в Linux Kali

Обратите внимание, что под командой отобразилось название «document1» – это файл, находящийся в архиве. Если файлов несколько, то каждый будет прописан в новой строке.

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

Заключение

Сегодня мы рассмотрели основные методы архивации, распаковки и сжатия файлов с помощью команды tar. Это простой инструмент, который отлично взаимодействует с утилитами сжатия bzip2 и gzip. Надеюсь, что теперь вам будет легко работать с архивами в системе Linux. Спасибо за внимание!

echo -e "Все про серверы, сети, хостинг и еще раз серверы" >/dev/pts/0

Комментарии

Alex Bosco +3
30 авг в 2021
Доброго времени!

Подскажите пож-та а как при сжатии исключить файлы из определенного каталога?
tar jcvf /home/user.tar.bz2 /home/user /home/session/*

Мне необходимо в архив добавить каталог /home/session/ но чтоб добавилось без его содержимого
Злой 0
01 ноя в 2023
tar -I pbzip2 -xf имя архива.tar.bz2 файл_для сжатия
Многопоточная архивация = экономия времени!
Alex 0
03 окт в 14:47
Ужас. Тот, кто написал tar - нулевой UX-дизайнер. Вот что делать, если мне достался архив, и я не знаю что внутри? Какой мне ключ тогда использовать?
Alex 0
03 окт в 14:48
Почему при "сжатии" тар не понимает сам, что перед ним: файл, папка или архив?
С помощью соцсетей
У меня нет аккаунта Зарегистрироваться
С помощью соцсетей
У меня уже есть аккаунт Войти
Инструкции по восстановлению пароля высланы на Ваш адрес электронной почты.
Пожалуйста, укажите email вашего аккаунта
Ваш баланс 10 ТК
1 ТК = 1 ₽
О том, как заработать и потратить Таймкарму, читайте в этой статье
Чтобы потратить Таймкарму, зарегистрируйтесь на нашем сайте