- Команда tar в Linux
- Синтаксис команды tar
- Как пользоваться tar
- 1. Создание архива tar
- 2. Просмотр содержимого архива
- 3. Распаковка архива tar Linux
- 3. Работа со сжатыми архивами
- Выводы
- Команда Tar в Linux (создание и извлечение архивов)
- Синтаксис команды tar
- Создание архива tar
- Создание архива Tar Gz
- Создание архива Tar Bz2
- Список архивов Tar
- Извлечение архива Tar
- Извлечение архива Tar в другой каталог
- Извлечение архивов Tar Gz и Tar Bz2
- Извлечение определенных файлов из архива Tar
- Извлечение файлов из архива Tar с использованием подстановочного знака
- Добавление файлов в существующий архив Tar
- Удаление файлов из архива Tar
Команда 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.
Команда 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