Утилита tar astra linux

Команда tar в Linux

В качестве инструмента для архивации данных в Linux используются разные программы. Например архиватор Zip Linux, приобретший большую популярность из-за совместимости с ОС Windows. Но это не стандартная для системы программа. Поэтому хотелось бы осветить команду tar Linux — встроенный архиватор.

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

Синтаксис команды tar

Синтаксис команд для создания и распаковки архива практически не отличается (в том числе с утилитами сжатия bzip2 или gzip). Так, чтобы создать новый архив, в терминале используется следующая конструкция:

tar опции архив.tar файлы_для_архивации

tar опции архив.tar

Функции, которые может выполнять команда:

Функция Длинный
формат
Описание
-A —concatenate Присоединить существующий архив к другому
-c —create Создать новый архив
-d —diff
—delete
Проверить различие между архивами
Удалить из существующего архива файл
-r —append Присоединить файлы к концу архива
-t —list Сформировать список содержимого архива
-u —update Обновить архив более новыми файлами с тем же именем
-x —extract Извлечь файлы из архива

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

Параметр Длиннный
формат
Описание
-C dir —directory=DIR Сменить директорию перед выполнением операции на dir
-f file —file Вывести результат в файл (или на устройство) file
-j —bzip2 Перенаправить вывод в команду bzip2
-p —same-permissions Сохранить все права доступа к файлу
-v —verbose Выводить подробную информацию процесса
—totals Выводить итоговую информацию завершенного процесса
-z —gzip Перенаправить вывод в команду gzip

А дальше рассмотрим примеры того, как может применяться команда tar Linux.

Читайте также:  Linux device tree overlay

Как пользоваться tar

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

С помощью следующей команды создается архив archive.tar с подробным выводом информации, включающий файлы file1, file2 и file3:

tar —totals —create —verbose —file archive.tar file1 file2 file3

Но длинные опции и параметры можно заменить (при возможности) однобуквенными значениями:

tar —totals -cvf archive.tar file1 file2 file3

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

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

Следующая команда выводит содержимое архива, не распаковывая его:

Отображение архива

3. Распаковка архива tar Linux

Распаковывает архив test.tar с выводом файлов на экран:

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

Чтобы сделать это в другой каталог, можно воспользоваться параметром -C:

tar -C «Test» -xvf archive.tar

Распаковка в другой каталог

3. Работа со сжатыми архивами

Следует помнить, что tar только создаёт архив, но не сжимает. Для этого используются упомянутые компрессорные утилиты bzip2 и gzip. Файлы, сжатые с их помощью, имеют соответствующие расширения .tar.bz2 и .tar.gz. Чтобы создать сжатый архив с помощью bzip2, введите:

tar -cjvf archive.tar.bz2 file1 file2 file3

Сжатие в bz2

Синтаксис для gzip отличается одной буквой в параметрах, и меняется окончание расширения архива:

tar -czvf archive.tar.gz file1 file2 file3

Сжатие в gz

При распаковке tar-архивов с таким расширением следует указывать соответствующую опцию:

tar -C «Test» -xjvf arhive.tar.bz2

Распаковка bz2

Распаковка gz

На заметку: архиватор tar — одна из немногих утилит в GNU/Linux, в которой перед использованием однобуквенных параметров, стоящих вместе, можно не ставить знак дефиса.

Выводы

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

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

Команда Tar в Linux (создание и извлечение архивов)

Команда Tar в Linux (создание и извлечение архивов)

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

Изначально Tar был разработан для создания архивов для хранения файлов на магнитной ленте, поэтому он и получил свое название «Tape AR chive».

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

Синтаксис команды tar

Существует две версии tar, BSD tar и GNU tar , с некоторыми функциональными отличиями. Большинство систем Linux поставляются с предустановленной по умолчанию GNU tar. Общий синтаксис tar команды следующий:

tar [OPERATION_AND_OPTIONS] [ARCHIVE_NAME] [FILE_NAME(s)]
  • OPERATION — Допускается и требуется только один аргумент операции. Наиболее часто используемые операции:
    • —create ( -c ) — создать новый tar-архив.
    • —extract ( -x ) — извлечь весь архив или один или несколько файлов из архива.
    • —list ( -t ) — Показать список файлов, включенных в архив
    • —verbose ( -v ) — Показать файлы, обрабатываемые командой tar.
    • —file=archive=name ( -f archive-name ) — указывает имя файла архива.

    При выполнении команд tar вы можете использовать длинную или короткую форму tar операций и параметров. Длинные формы более удобочитаемы, а короткие быстрее набираются. Длинные варианты начинаются с двойного тире ( — ). Перед короткими вариантами ставится дефис ( — ), который можно опустить.

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

    Tar поддерживает широкий спектр программ сжатия, таких как gzip , bzip2 , lzip , lzma , lzop и xz . compress При создании сжатых tar-архивов принято добавлять суффикс компрессора к имени файла архива. Например, если архив был сжат с помощью gzip , он должен называться archive.tar.gz.

    Чтобы создать tar-архив, используйте -c параметр, за которым следует -f имя архива.

    Например, чтобы создать архив с именем archive.tar из файлов с именами file1 , file2 , file3 , вы должны выполнить следующую команду:

    tar -cf archive.tar file1 file2 file3

    Вот эквивалентная команда с параметрами длинной формы:

    tar --create --file=archive.tar file1 file2 file3

    Вы можете создавать архивы из содержимого одного или нескольких каталогов или файлов. По умолчанию каталоги рекурсивно архивируются, если —no-recursion не указан параметр. В следующем примере будет создан архив с именем user_backup.tar каталога /home/user :

    tar -cf backup.tar /home/user

    Используйте эту -v опцию, если хотите увидеть обрабатываемые файлы.

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

    Gzip — самый популярный алгоритм сжатия tar-файлов. При сжатии tar-архивов с помощью gzip имя архива должно заканчиваться либо на , tar.gz либо на tgz .

    Опция -z указывает tar сжимать архив, используя gzip алгоритм по мере его создания. Например, чтобы создать архив tar.gz из заданных файлов, выполните следующую команду:

    tar -czf archive.tar.gz file1 file2

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

    Другой популярный алгоритм сжатия tar-файлов — bzip2. При использовании bzip2 имя архива должно заканчиваться на tar.bz2 или tbz .

    Чтобы сжать архив с bzip2 алгоритмом, вызовите tar с -j опцией. Следующая команда создает tar.bz2 архив из заданных файлов:

    tar -cjf archive.tar.bz2 file1 file2

    Список архивов Tar

    При использовании с параметром —list ( -t ) tar команда выводит содержимое tar-архива без его распаковки.

    Команда ниже выведет список содержимого archive.tar файла:

    Чтобы получить дополнительную информацию, такую ​​как владелец файла, размер файла, временная метка , используйте параметр —verbose ( -v ):

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

    Большинство заархивированных файлов в Linux заархивированы и сжаты с использованием формата tar или tar.gz. Очень важно знать, как извлечь эти файлы из командной строки.
    Чтобы извлечь tar-архив, используйте параметр —extract ( -x ), за которым следует имя архива:

    Также часто добавляется -v возможность печатать имена извлекаемых файлов.

    Извлечение архива Tar в другой каталог

    По умолчанию tar извлекает содержимое архива в текущий рабочий каталог . Используйте —directory ( -C ) для извлечения архивных файлов в определенный каталог:

    Например, чтобы извлечь содержимое архива в /opt/files каталог, вы можете использовать:

    tar -xf archive.tar -C /opt/files

    Извлечение архивов Tar Gz и Tar Bz2

    При извлечении сжатых архивов, таких как tar.gz или tar.bz2 , вам не нужно указывать параметр распаковки. Команда та же, что и при распаковке tar архива:

    Извлечение определенных файлов из архива Tar

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

    tar -xf archive.tar file1 file2

    При извлечении файлов вы должны указать их точные имена, включая путь, напечатанный —list ( -t ).

    Извлечение одного или нескольких каталогов из архива аналогично извлечению файлов:

    tar -xf archive.tar dir1 dir2

    Если вы попытаетесь извлечь несуществующий файл, появится сообщение об ошибке, подобное следующему:

    Извлечение файлов из архива Tar с использованием подстановочного знака

    Чтобы извлечь файлы из архива на основе шаблона подстановочных знаков, используйте —wildcards переключатель и укажите шаблон в кавычках, чтобы оболочка не интерпретировала его.

    Например, чтобы извлечь файлы, имена которых заканчиваются на .js (файлы Javascript), вы можете использовать:

    tar -xf archive.tar --wildcards '*.js'

    Добавление файлов в существующий архив Tar

    Чтобы добавить файлы или каталоги в существующий tar-архив, используйте операцию —append ( ). -r

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

    tar -rvf archive.tar newfile

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

    Используйте —delete операцию для удаления файлов из архива.

    В следующем примере показано, как удалить файл file1 из archive.tar:

    tar --delete -f archive.tar file1

    Источник

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