Tar в терминале linux

Команда tar в Линукс

Многие владельцы персональных компьютеров предпочитают пользоваться операционной системой Linux. При возникновении необходимости архивации данных на ПК нередко устанавливаются различные сторонние программы. К примеру, специальный архиватор Zip Linux приобрел свое широкое распространение благодаря тому, что совместим с ОС Windows. Нестандартные программы для Linux применяются весьма широко. Стоит отметить, что в этой операционной системе есть и встроенный архиватор, который отличается хорошей производительностью. Эта команда имеет название tar. Утилита tar для ОС «Линукс» – это специальная команда, применяемая при архивации различных типов файлов. Она имеется по умолчанию в каждом дистрибутиве, дает возможность распаковывать и создавать файлы.

Синтаксис

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

  • «-А». Присоединение имеющегося архива к стороннему архиву.
  • «-с». Создание нового сжатого файла.
  • «-d». Определение отличий между двумя определенными архивами, удаление документов.
  • «-r». Присоединение файлов к архиву. Они располагаются в конце.
  • «-t». Формирование перечня содержимого в архиве.
  • «-u». Обновление архивных данных, дополнение данными с аналогичными именами.
  • «-х». Извлечение требуемых документов из архива.

После того, как определились с конкретной функцией, можно ввести дополнительные параметры. Они регламентируют осуществление определенной операции, касающейся данных:

  • «-С» (—directory=DIR). Изменение адреса каталога перед проведением мероприятий на dir.
  • «-f» (—file). Вывод результата в определённый файл или на конкретное устройство.
  • «-j» (—bzip2). Перенаправление вывода информации к bzip2.
  • «-p» (—same-permissions). Сохранение доступности относительно определенного документа.
  • «-v». (—verbose; —totals). Вывод подробных данных о совершаемых или уже завершенных процессах.
  • «-z». (—gzip). Перенаправление вывода на gzip.

Примеры

Все примеры можно разделить на три группы: создание; просмотр; распаковка.

Рекомендуется тщательно изучить примеры использования команды для ОС Линукс. Они позволят быстро справиться с поставленной задачей.

Создание

Для первого примера, создадим новый архив newarhiv.tar из одного документа /root/catalog/test.

Читайте также:  Vmware and linux mint

С помощью команды cd зайдем в директорию /root/catalog.

Далее будем использовать функцию «-c» создание нового архива, параметр «-v» вывод подробной информации, «-f» результат записать в документ.

  • «-cvf» — функция и опции.
  • «newarhiv.tar» — название нового сжатого документа.
  • «test» — название файла, который нужно запаковать.

Пример создания сжатого документа

Если требуется запаковать несколько документов, то будет выглядеть так:

tar -cvf newarhiv.tar test test2 test3

tar/gz

tar.gz — это архив созданный утилитой tar, в последствии запакованный Gzip.

Запакуем tar.gz все файлы в каталоге «/root/catalog» . Для этого необходимо использовать аргумент «-z» (gzip).

tar -cvzf arhiv2.tar.gz /root/catalog/

Запаковка gz

tar/bz2

tar.bz2 — это архив созданный утилитой tar, в последствии запакованный Bzip 2.

Файлы в формате bz2 сжимаются лучше, чем gz, соответственно занимают меньше места.

Запакуем документ «newfile» в каталоге «/root/primercataloga» в формате bz2. Для этого будем использовать аргумент «-j»

tar cvfj dokument.tar.bz2 newfile

bz2

Просмотр

Откроем newarhiv.tar для просмотра. Для этого, необходимо использовать аргумент «-t».

tar -tvf /root/catalog/newarhiv.tar

Просмотр сжатого документа

Просмотр tar.gz

Откроем oldfile.tar.gz для просмотра. Синтаксис команды тот же, что и при открытии простого «.tar».

Просмотр gz

Просмотр bz2

Откроем документ oldfile.tar.bz2.

Распаковка

Для извлечения определенного файлового архива потребуется использование функции «х». Извлечем документ newarhiv.

Разархивируем tar.gz

Для разархивации файла формата tar.gz потребуется также использование опции «х».

Разархивируем tar.bz2

Для разархивирования сжатого файла bz2, также применяется аргумент «х».

Разархивируем единичный файл

Чтобы разархивировать единичный документ, нужно просто добавить его в конец команды.

Для примера, требуется распаковать файл test из архива arhiv.tar.

Здесь:
Извлекаем отдельный документ tar.gz

Представим для примера, что требуется распаковать index.php из site.tar.bz2. Для этого стоит указать в командной строке:

tar -jxvf site.tar.bz2 index.php

Источник

15 примеров команды tar для сисадминов и девопсов

img

Название tar архива образовано от сочетания Tape ARchive, так как было разработано для записи последовательных данных на ленточные устройства. Также иногда встречается название tarball.

По умолчанию tar архивирует файлы только без сжатия, но с использованием некоторых частей. Мы можем использовать различные методы сжатия, чтобы на выходе получить архив меньшего размера. Утилита tar обычно включается в большинство дистрибутивов Linux по умолчанию, а сам формат поддерживается другими операционными системами, включая Windows и macOS, с помощью различных инструментов и утилит.

В этой статье мы рассмотрим некоторые общие примеры использования команды tar и поддерживаемые флаги.

Читайте также:  Копировать вставить консоль линукс

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

Для создания обычного архива без сжатия достаточно ввести команду ниже:

Здесь флаги c обозначает создание, v обозначает подробный вывод и f обозначает имя файла архива tar . По соглашению укажите имя файла tar с расширением .tar . Архивируемые файлы могут быть определены с помощью подстановочных знаков или же можно указать один файл или несколько файлов/путей.

В качестве примера можно привести три файла в каталоге:

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

Создать архив, содержащий все три файла, можно следующим образом:

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

Также можно указать только конкретные файлы для архивирования, например:

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

2. Создание сжатого архива (GZ)

tar позволяет не только архивировать файлы, но и сжимать их для экономии места. Одним из популярных форматов сжатия является gunzip , обычно представленный расширением .gz после .tar или как tgz . Мы можем использовать флаг z , чтобы указать, что файлы должны быть сжаты с помощью gunzip . Вот пример:

Создание сжатого архива

Можно заметить, что размер архивных файлов существенно отличается, хотя оба содержат одни и те же три файла. Это связано с использованием сжатия с использованием флага z .

3. Создание сжатого архива (BZ)

tar поддерживает несколько других форматов сжатия. Одним из них является bz2 или bzip2 , который представлен расширением tar.bz2 или иногда как tbz2 . Это может дать вам меньший размер архива, но, в свою очередь, потребляет больше ЦП, так что процесс сжатия/декомпрессии может быть медленнее, чем gz архив. Для создания bz архива используется флаг j :

Создание сжатого архива

4. Распаковка всех файлов

Архив tar (сжатый или несжатый) можно извлечь с помощью опции x . Ниже приведены примеры, поясняющие его использование:

Распаковка всех файлов

Эта команда также работает для сжатого архива формата gz :

Распаковка всех файлов

И даже для архива со сжатием bz2 :

Распаковка всех файлов

5. Просмотр содержания архива

Чтобы перечислить содержимое архива tar , можно использовать флаг t , как показано ниже:

Просмотр содержания архива

6. Распаковка конкретных файлов

Из архива tar , tar.gz или tar.bz2 можно извлечь как все файлы, так и один конкретный файл, указав имя файла:

Распаковка конкретных файлов

Аналогично, можно указать несколько имен файлов, разделенных пробелом, чтобы извлечь их вместе за один переход.

Распаковка конкретных файлов

7. Распаковка с помощью маски

Чтобы извлечь один или несколько файлов с помощью шаблона PATTERN , используйте флаг —wildcards :

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

8. Добавление файлов в архив

В существующий несжатый архив можно добавлять новые файлы используя флаг r или —append с новыми именами файлов или шаблоном подстановочных символов (помните, что это работает только с несжатыми TAR-файлами, а не со сжатыми форматами tar.gz или tar.bz2 ):

Добавление файлов в архив

Можно увидеть, что содержимое списка archive.tar показывает два только что добавленных файла.

9. Удаление файлов из архива

Удаление определенных файлов из архива tar возможно с помощью флага —delete , как показано ниже (сравните список tar до и после удаления файлов):

Читайте также:  Команда трассировки в линуксе

Удаление файлов из архива

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

10. Создание архива с проверкой

При создании несжатых архивных файлов можно проверить содержимое архива, используя флаг W как показано ниже:

Создание архива с проверкой

Этот флаг нельзя использовать с флагами сжатия, хотя можно сжать созданный файл tar позже с помощью gzip или других инструментов.

11. Распаковка архива в папку

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

Распаковка архива в папку

12. Использование флага –diff

Можно использовать флаг —diff или d для поиска любых изменений между файлами в архиве tar и файлами в файловой системе. Вот пример, который запускает diff один раз, когда файл внутри архива и снаружи был один и тот же. Если запустить команду снова после обновления файла, то можно увидеть разницу в выходных данных.

Использование флага –diff

13. Исключение файлов

Исключение определенных файлов может быть обязательным при создании архивов tar . Этого можно достичь с помощью флага —exclude .

Исключение файлов

Как можно заметить из приведенных выше выходных данных, можно задать флаг —exclude несколько раз, чтобы указать несколько имен файлов или шаблонов связывая их логическим AND . Следует отметить, что из шести файлов в директории в приведенном выше примере только два файла удовлетворяли условию, которое должно быть включено в archive.tar.gz .

14. Просмотр размера содержимого архива

Размер содержимого сжатого архива tar можно получить с помощью следующей команды:

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

Аналогично для архива bz2 :

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

15. Архивация с сохранением разрешений

По умолчанию команда tar сохраняет разрешение архивированных файлов и каталогов, хотя можно явно указать его с помощью флага -p или —preserve-permissions , как показано ниже.

Архивация с сохранением разрешений

Заключение

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

Для получения дополнительных сведений обратитесь воспользуйтесь встроенным руководством Linux с помощью команда man tar или используйте команду tar —help или tar —usage .

Источник

Оцените статью
Adblock
detector