Команда Linux tar

Опубликовано admin - вс, 08/07/2022 - 13:22

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

Использование команды Linux tar с примерами

Архив утилиты объединяет несколько файлов и/или каталогов в один файл. Архив может быть и сжат. Поддерживается множество форматов сжатия.

Содержание

Синтаксис

tar [ПАРАМЕТР...] [ФАЙЛ]…

Опции

-A, --catenate, --concatenate
Присоединение tar-файлов к архиву
-c, --create
Создание нового архива
-d, --diff, --compare
Поиск различий между архивом и файловой системой
-r, --append
Добавление файлов в конец архива
    --test-label
Проверка метки тома архива и выход
-t, --list
Вывод списка содержимого архива
-u, --update
Добавление в архив только более новых файлов
-x, --extract, --get
Извлечение файлов из архива
-f, --file=АРХИВ
Создание архива с заданным именем файла
-a, --auto-compress
Ииспользовать суффикс архива для определения программы сжатия
-j, --bzip2
Пропустить архив через bzip2
-J, --xz
Пропустить архив через xz
    --lzip
Пропустить архив через lzip
    --lzma
Пропустить архив через lzma
-z, --gzip, --gunzip, --ungzip
Пропустить архив через gzip
-v, --verbose
Подробный листинг обрабатываемых файлов

Примеры использования команды tar в Linux

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

Для этого используются опции -c, -f, -v:

oleg@mobile:~/Directory:$ ls -l
итого 0
-rw-r--r-- 1 oleg users 0 авг  7 11:46 example_1
-rw-r--r-- 1 oleg users 0 авг  7 11:46 example_2
-rw-r--r-- 1 oleg users 0 авг  7 11:46 example_3
oleg@mobile:~/Directory:$ tar -cfv archive.tar example_1 example_2 example_3
example_1
example_2
example_3
oleg@mobile:~/Directory:$ ls -l
итого 12
-rw-r--r-- 1 oleg users 10240 авг  7 11:47 archive.tar
-rw-r--r-- 1 oleg users     0 авг  7 11:46 example_1
-rw-r--r-- 1 oleg users     0 авг  7 11:46 example_2
-rw-r--r-- 1 oleg users     0 авг  7 11:46 example_3
oleg@mobile:~/Directory:$ 

Перед выполнением дальнейших команд я удалил из каталога Directory присутствующие в нём файлы example_1, example_2, example_3:

oleg@mobile:~/Directory:$ rm -rf example_*
oleg@mobile:~/Directory:$ ls -l
итого 12
-rw-r--r-- 1 oleg users 10240 авг  7 11:47 archive.tar
oleg@mobile:~/Directory:$

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

Для создания архива gzip используем следующие опции -cfzv:

oleg@mobile:~/Directory:$ tar -cfzv archive.tar.gz example_1 example_2 example_3
example_1
example_2
example_3
oleg@mobile:~/Directory:$ ls -l
итого 16
-rw-r--r-- 1 oleg users 10240 авг  7 12:05 archive.tar
-rw-r--r-- 1 oleg users   144 авг  7 12:06 archive.tar.gz
-rw-r--r-- 1 oleg users     0 авг  7 11:46 example_1
-rw-r--r-- 1 oleg users     0 авг  7 11:46 example_2
-rw-r--r-- 1 oleg users     0 авг  7 11:46 example_3
oleg@mobile:~/Directory:$ 

Для создания архива bz2 используем опции -cfjv:

oleg@mobile:~/Directory:$ tar -cfjv archive.tar.bz2 example_1 example_2 example_3
example_1
example_2
example_3
oleg@mobile:~/Directory:$ ls -l
итого 20
-rw-r--r-- 1 oleg users 10240 авг  7 12:05 archive.tar
-rw-r--r-- 1 oleg users   153 авг  7 12:08 archive.tar.bz2
-rw-r--r-- 1 oleg users   144 авг  7 12:06 archive.tar.gz
-rw-r--r-- 1 oleg users     0 авг  7 11:46 example_1
-rw-r--r-- 1 oleg users     0 авг  7 11:46 example_2
-rw-r--r-- 1 oleg users     0 авг  7 11:46 example_3
oleg@mobile:~/Directory:$ 

Показ всех файлов архива

Для того, увидеть все файлы архива используются опции -tfv:

oleg@mobile:~/Directory:$ tar -tfv archive.tar 
-rw-r--r-- oleg/users        0 2022-08-07 11:46 example_1
-rw-r--r-- oleg/users        0 2022-08-07 11:46 example_2
-rw-r--r-- oleg/users        0 2022-08-07 11:46 example_3
oleg@mobile:~/Directory:$  

Распаковка несжатого архива

В Linux при разархивировании архива tar используются опции -xfv:

oleg@mobile:~/Directory:$ ls -l
итого 12
-rw-r--r-- 1 oleg users 10240 авг  7 11:47 archive.tar
-rw-r--r-- 1 oleg users   153 авг  7 12:08 archive.tar.bz2
-rw-r--r-- 1 oleg users   144 авг  7 12:06 archive.tar.gz
-rw-r--r-- 1 oleg users     0 авг  7 11:46 example_1
-rw-r--r-- 1 oleg users     0 авг  7 11:46 example_2
-rw-r--r-- 1 oleg users     0 авг  7 11:46 example_3
oleg@mobile:~/Directory:$ rm -rf example_*
oleg@mobile:~/Directory:$ ls -l
итого 12
-rw-r--r-- 1 oleg users 10240 авг  7 11:47 archive.tar
oleg@mobile:~/Directory:$ tar -xfv archive.tar 
example_1
example_2
example_3
oleg@mobile:~/Directory:$ ls -l
итого 12
-rw-r--r-- 1 oleg users 10240 авг  7 11:47 archive.tar
-rw-r--r-- 1 oleg users     0 авг  7 11:46 example_1
-rw-r--r-- 1 oleg users     0 авг  7 11:46 example_2
-rw-r--r-- 1 oleg users     0 авг  7 11:46 example_3
oleg@mobile:~/Directory:$

Распаковка сжатого архива

Для распаковки архива tar.gz используются опции -xfzv:

oleg@mobile:~/Directory:$ tar -xfzv archive.tar.gz 
example_1
example_2
example_3
oleg@mobile:~/Directory:$ 

Для распаковки архива tar.bz2 используются опции -xfjv:

oleg@mobile:~/Directory:$ tar -xfjv archive.tar.bz2 
example_1
example_2
example_3
oleg@mobile:~/Directory:$ 

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

Обновляем существующий архив archive.tar, добавив в него файл example_4 с использованием опций -rvf, и сразу проверяем результат:

oleg@mobile:~/Directory:$ touch example_4
oleg@mobile:~/Directory:$ ls -l
итого 20
-rw-r--r-- 1 oleg users 10240 авг  7 12:05 archive.tar
-rw-r--r-- 1 oleg users   153 авг  7 12:08 archive.tar.bz2
-rw-r--r-- 1 oleg users   144 авг  7 12:06 archive.tar.gz
-rw-r--r-- 1 oleg users     0 авг  7 11:46 example_1
-rw-r--r-- 1 oleg users     0 авг  7 11:46 example_2
-rw-r--r-- 1 oleg users     0 авг  7 11:46 example_3
-rw-r--r-- 1 oleg users     0 авг  7 12:22 example_4
oleg@mobile:~/Directory:$ tar -rvf archive.tar example_4
example_4
oleg@mobile:~/Directory:$ tar -tfv archive.tar
-rw-r--r-- oleg/users        0 2022-08-07 11:46 example_1
-rw-r--r-- oleg/users        0 2022-08-07 11:46 example_2
-rw-r--r-- oleg/users        0 2022-08-07 11:46 example_3
-rw-r--r-- oleg/users    10240 2022-08-07 12:22 example_4
oleg@mobile:~/Directory:$ 

Заключение

В этой статье были приведены основные примеры использования в Linux команды tar. Из примеров видно, что пользоваться этой популярной утилитой довольно просто.

Поделиться с друзьями