В 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
. Из примеров видно, что пользоваться этой популярной утилитой довольно просто.