- Команда tar в Линукс
- Синтаксис
- Примеры
- Создание
- Просмотр
- Распаковка
- Создание и распаковка tar архивов в Linux
- Создать архив из папки
- Исключить папки и файлы при создании архива
- Разархивировать
- Команда tar в Linux
- Синтаксис команды tar
- Как пользоваться tar
- 1. Создание архива tar
- 2. Просмотр содержимого архива
- 3. Распаковка архива tar Linux
- 3. Работа со сжатыми архивами
- Выводы
Команда 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.
С помощью команды 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/
tar/bz2
tar.bz2 — это архив созданный утилитой tar, в последствии запакованный Bzip 2.
Файлы в формате bz2 сжимаются лучше, чем gz, соответственно занимают меньше места.
Запакуем документ «newfile» в каталоге «/root/primercataloga» в формате bz2. Для этого будем использовать аргумент «-j»
tar cvfj dokument.tar.bz2 newfile
Просмотр
Откроем newarhiv.tar для просмотра. Для этого, необходимо использовать аргумент «-t».
tar -tvf /root/catalog/newarhiv.tar
Просмотр tar.gz
Откроем oldfile.tar.gz для просмотра. Синтаксис команды тот же, что и при открытии простого «.tar».
Просмотр 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
Создание и распаковка tar архивов в Linux
Tar — архивы один из наиболее распространённых способов хранения данных в Linux системах. Но tar не сжимает данные в архиве. Tar всего лишь упаковывает файлы. Для сжатия tar умеет работать с утилитами bzip2 или gzip.
Правильнее называть «tarball» (тарболл, «tar» мяч). По сути tar формат — это объединение нескольких файлов в один. Попробуйте объединить несколько текстовых файлов в один tarball и открыть его текстовым редактором. Вы увидите что это лишь большой текстовый файл, в котором перечислено содержимое входящих в него файлов с указанием их путей текстом.
Создать архив из папки
Предположим, что необходимо создать tar архив из папки и использовать при этом сжатие. Чтобы создать архив tar с gzip сжатием, нужно выполнить команду:
tar -zcf /root/files.tar.gz /home/folder/
При выполнении этой команды из содержимого папки /home/folder/ будет создан архив по адресу /root/files.tar.gz . Если указать относительный путь, то файл создастся в той папке, где открыт терминал.
В конце команды передаётся директория, которую надо архивировать. В примере стоит абсолютный путь к этой папке. В таком случае в архиве tar будет находится все родительские папки т.е. при открытии архива там будет папка /home/ и внутри неё папка /folder/. Но если абсолютный путь заменить относительным, то будет только /folder/.
В названии файла «files.tar.gz» можно указать любое расширение. Но для сжатых тарболлов лучше писать именно так. То есть сначала указывать то что это «tar», а потом писать «gz».
Разберём пример по частям. Команда tar в примере выше имеет три ключа:
- z — архивирует с gzip компрессией. Если нужно использовать bzip2, надо заменить ключ «z» на «j».
- c — без этого ключа архив не создастся.
- f — вывод информация в файл. Без этого ключа tar будет выдавать результат на stdout при упаковке и пытаться читать архив с stdin при распаковке.
Исключить папки и файлы при создании архива
Иногда нужно исключить некоторые подпапки при создании архива. К примеру, если надо создать архив из папки /home/, но в него не должны попасть содержания папок /cache/ и /trash/. Тогда необходимо использовать ключ exclude:
tar -zcf /root/files.tar.gz /home/ --exclude=
Символы звёздочек в exclude означают либой набор символов. То есть выполнять эту команду без звёздочек в начале путей, то необходимо прописывать полный путь к папке, которую надо исключить.
В конце значений explude тоже стоят звёздочки, чтобы удалялись не сами папки, а их содержимое (все дочерние файлы и папки).
При выполнении такой команды в архив не попадут файлы из папок:
/home/cache/ /home/folder/cache/ /home/folder/subfolder/cache/
Обратите внимание на то, что внутри фигурных скобок explude нет пробелов . Если поставить пробел до/после запятой или до/после фигурной скобки, то исключение не сработает.'*>
Разархивировать
Чтобы распаковать содержимое tar архива в ту же папку, в которой он находится, перейдите в папку с ним и введите:
Ключ x указывает на распаковку архива. Ключ f обязателен, как и при создании архива.
Если требуется распаковать архив в определённую папку, то путь к ней можно указать после ключа C:
tar -xf files.tar.gz -C /home/folder/
Команда 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.
Как пользоваться 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
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
Синтаксис для gzip отличается одной буквой в параметрах, и меняется окончание расширения архива:
tar -czvf archive.tar.gz file1 file2 file3
При распаковке tar-архивов с таким расширением следует указывать соответствующую опцию:
tar -C «Test» -xjvf arhive.tar.bz2
На заметку: архиватор tar — одна из немногих утилит в GNU/Linux, в которой перед использованием однобуквенных параметров, стоящих вместе, можно не ставить знак дефиса.
Выводы
В этой статье была рассмотрена команда tar Linux, которая используется для архивации файлов и поставляется по умолчанию во всех дистрибутивах. В её возможности входит создание и распаковка архива файлов без их сжатия. Для сжатия утилита применяется в связке с популярными компрессорами bzip2 и gzip.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.