Команда Tar в Linux. Cоздание и распаковка архивов
Команда Tar в Linux. Cоздание и распаковка архивов
Tar Command in Linux (Create and Extract Archives)
В этом руководстве мы покажем вам, как использовать tar команду для извлечения, просмотра и создания архивов tar на практических примерах и подробных объяснениях наиболее распространенных параметров tar.

Команда tar
используется для создания архивов tar путем преобразования группы файлов в архив. Он также имеет возможность извлекать архивы tar, отображать список файлов, включенных в архив, добавлять дополнительные файлы в существующий архив, а также выполнять различные другие операции.
Изначально Tar был предназначен для создания архивов для хранения файлов на магнитной ленте, поэтому он имеет название « T ape AR chive».
Синтаксис команды 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
) - Показать список файлов, включенных в архив
OPTIONS
- Наиболее часто используемые операции:--verbose
(-v
) - Показать файлы, обрабатываемые командой tar.--file=archive=name
(-f archive-name
) - указывает имя файла архива.
ARCHIVE_NAME
- название архива.FILE_NAME(s)
- Разделенный пробелами список имен файлов для извлечения из архива. Если не предоставлено, весь архив извлекается.
При выполнении команд 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
Опция сообщает деготь сжать архив , используя gzip
алгоритм , как он будет создан. Например, чтобы создать архив tar.gz из заданных файлов, вы должны использовать следующую команду:
tar -czf archive.tar.gz file1 file2
Создание архива Tar Bz2
Другой популярный алгоритм для сжатия tar-файлов - это bzip2. При сжатии архивов tar с помощью bzip2 имя архива должно заканчиваться либо либо, tar.bz2
либо tbz
.
-j
опция указана, tar будет использовать bzip2
алгоритм для сжатия архива. Следующая команда создаст tar.bz2
архив из заданных файлов:
tar -cjf archive.tar.bz2 file1 file2
Листинг Тар Архивы
При использовании с параметром --list
( -t
) tar
команда выведет список содержимого архива tar без его извлечения. Команда ниже, выведет список содержимого archive.tar
файла:
tar -tf archive.tar
В выводе будут перечислены имена всех файлов в архиве:
file1
file2
file3
Для получения дополнительной информации, такой как владелец файла, размер файла, отметка времени, используйте параметр --verbose
( -v
):
tar -tvf archive.tar
-rw-r--r-- linuxize/users 0 2018-09-08 01:19 file1
-rw-r--r-- linuxize/users 0 2018-09-08 01:19 file2
-rw-r--r-- linuxize/users 0 2018-09-08 01:19 file3
Извлечение Тар Архив
Большинство архивных файлов в Linux архивируются и сжимаются в формате tar или tar.gz. Очень важно знать, как извлечь эти файлы из командной строки.
Чтобы извлечь архив tar, используйте параметр --extract
( -x
), за которым следует имя архива:
tar -xf archive.tar
Также распространено добавлять -v
опцию для печати имен извлекаемых файлов.
tar -xvf archive.tar
Извлечение архива Tar в другой каталог
По умолчанию tar извлекает содержимое архива в текущем рабочем каталоге . Используйте --directory
( -C
) для извлечения архивных файлов в определенном каталоге:
Например, чтобы извлечь содержимое архива в /opt/files
каталог, вы можете использовать:
tar -xf archive.tar -C /opt/files
Извлечение архивов Tar Gz и Tar Bz2
При извлечении сжатых архивов, таких как tar.gz
или tar.bz2
вам не нужно указывать опцию распаковки. Команда такая же, как при извлечении tar
архива:
tar -xf archive.tar.gz
tar -xf archive.tar.bz2
Извлечение определенных файлов из архива Tar
Иногда вместо того, чтобы извлечь весь архив, вам может потребоваться извлечь из него только несколько файлов.
Чтобы извлечь конкретные файлы из архива tar, добавьте разделенный пробелами список имен файлов, которые нужно извлечь после имени архива:
tar -xf archive.tar file1 file2
При извлечении файлов вы должны указать их точные имена, включая путь, как указано в --list
( -t
).
Извлечение одного или нескольких каталогов из архива аналогично извлечению файлов:
tar -xf archive.tar dir1 dir2
Если вы попытаетесь извлечь файл, который не существует, появится сообщение об ошибке, подобное следующему:
tar -xf archive.tar README
tar: README: Not found in archive
tar: Exiting with failure status due to previous errors
Извлечение файлов из архива 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
Вывод
Наиболее распространенное использование этой tar
команды - создание и извлечение архива tar. При извлечении архива используйте tar -xf
команду, за которой следует имя архива, и для создания нового используйте tar -czf
команду, за которой следуют имя архива и файлы и каталоги, которые вы хотите добавить в архив.