Найти тему
Tehnichka.pro

Команда tar в Linux

Оглавление

Утилита TAR входит в состав всех дистрибутив операционных систем Linux и предназначена для создания архивов. Согласно основным принципам UNIX, программы должны делать что-то одно и работать вместе. В результате TAR собирает файлы в архив, но не сжимает их. Для компрессии, в связке с ней, наиболее часто используются утилиты GZIP, BZIP2 и набирающая популярность XZ. Они, в свою очередь, способны работать только с одним файлом. В этом материале мы расскажем о том, как создавать архивы и работать с ними при помощи терминала.

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

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

  1. Открываем в файловом менеджере папку с документами. Щелкаем мышкой по свободному от иконок месту, вызывая контекстное меню. С помощью отмеченного на скриншоте пункта запускаем терминал непосредственно в рабочей директории.
Через контекстно меню запускаем терминал в папке с файлами будущего архива
Через контекстно меню запускаем терминал в папке с файлами будущего архива

2. Для примера создам простой архив, без сжатия, включив в него три файла из выбранной папки. Набираем в терминале «tar -cf arhtar 111222 333». Команда запускает исполнение утилиты TAR и создание (опция -c) файла (опция -f) с именем «arh0.tar», включающего в себя документы 111, 222 и 333.

Создаем несжатый архив tar, включая в него файлы 111, 222, 333
Создаем несжатый архив tar, включая в него файлы 111, 222, 333

3. Чтобы использовать сжатие, добавим в команду новую опцию, указывающую на применяемый алгоритм компрессии. Для примера выберем утилиту GZIP. Набираем в терминале «tar -czf arhtar.gz 444555», собирая в новый архив два оставшихся файла.

Создаем сжатый архив с применением утилиты компрессии GZIP
Создаем сжатый архив с применением утилиты компрессии GZIP

4. Переходим в файловом менеджере на уровень выше. Теперь применим утилиту BZIP2, чтобы целиком упаковать папку. Набираем в терминале «tar -cjf arh.tar.bz2 arh». В команде, вместо перечисления файлов после имени архива, указано название директории.

Сжимаем директорию «arh» при помощи утилиты компрессии BZIP2
Сжимаем директорию «arh» при помощи утилиты компрессии BZIP2

5. В следующей команде заменим «j» на «J», изменив алгоритм компрессии на XZ. Дополнительно внесем опцию «v», для визуализации результата. При выполнении такой команды в терминале можно увидеть, какие файлы включены в архив.

Сжимаем директорию «arh» утилитой компрессии XZ с выводом результатов
Сжимаем директорию «arh» утилитой компрессии XZ с выводом результатов

Работа с архивами

Утилитой TAR обычно упаковывают компоненты дистрибутивов. Поэтому гораздо чаще пользователям Linux приходится сталкиваться с обратным процессом – разархивированием.

  1. Иногда содержимое архива нужно просмотреть без распаковки. Для этого набираем в терминале «tar -tf arh.tar.bz2». Опция «-t» позволяет вывести на экран список вложенных файлов и структуру каталогов.
Используем опцию «-t» для просмотра содержимого архива без распаковки
Используем опцию «-t» для просмотра содержимого архива без распаковки

2. Для полной распаковки служит команда «tar -xf arh.tar.bz2». Опция «x» активирует извлечение файлов из указанного архива «arh.tar.bz2». В приведенном примере распаковка происходит на рабочий стол.

При помощи опции «-x» извлекаем все содержимое архива
При помощи опции «-x» извлекаем все содержимое архива

3. Чтобы извлечь файлы из архива в конкретную папку, в конец команды добавляется опция «С», а также указывается имя конечной директории в кавычках. Выглядит это следующим образом: «tar -xf arh.tar.bz2 -C “unpack”». Распаковка выполняется в папку «unpack», расположенную в той же директории, в которой запущен терминал.

Распаковываем архив в отдельную папку с именем «unpack»
Распаковываем архив в отдельную папку с именем «unpack»

4. При необходимости можно извлекать из архива только отдельные файлы или директории. Перед этим проверяем внутреннюю структуру, чтобы правильно указать путь к нужному объекту. На скриншоте этот этап показан цифрой «1». Выполняем извлечение командой: «tar -xf arh.tar.xz arh/444». Из архива «arh.tar.xz» извлекается файл «arh/444». В приведенном примере операция выполнялась на рабочем столе. Итогом станет появление на нем папки «arh», в которой будет находиться один единственный файл с именем «444».

Просматриваем содержимое архива и извлекаем из него файл «arh/444»
Просматриваем содержимое архива и извлекаем из него файл «arh/444»

Синтаксис

Общим правилом синтаксиса при работе с утилитой TAR является необходимость последней указывать опцию «f». После нее указывается имя создаваемого или распаковываемого архива. Ниже приведен список опций, использованных в рассмотренных выше примерах, а в скобках приводится альтернативное написание:

  • -с (—create) – создание архива;
  • -f (—file) –имя создаваемого или распаковываемого архива;
  • -t (—list) –просмотр содержимого без распаковки;
  • -x (—extract) – полное извлечение;
  • -C dir (—directory=DIR) –распаковка содержимого в папку «dir»;
  • -v (—verbose) –вывод подробной информации об операции в терминал;
  • -z –использовать алгоритм сжатия GZIP;
  • -j – использовать алгоритм сжатия BZIP2;
  • -J – использовать алгоритм сжатия XZ;
  • —help –вывод в терминал русскоязычного руководства.

В заключение

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

Автор материала: Дмитрий Чевычелов

Подписывайтесь на наш канал и ставьте лайки! А еще можете посетить наш официальный сайт.