Команда tar
создает файлы tar путем преобразования группы файлов в архив. Он также может извлекать архивы tar, отображать список файлов, включенных в архив, добавлять дополнительные файлы к существующему архиву и выполнять различные другие операции.
Изначально Tar был разработан для создания архивов для хранения файлов на магнитной ленте, поэтому получил свое название « T ape 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
) — Показать список файлов, входящих в архив
-
-
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
из 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
:
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
Извлечение архива Tar
Большинство архивных файлов в 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
их точные имена, включая путь, как напечатано с помощью --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
и --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
за которым следует имя архива, а также файлы и каталоги, которые вы хотите добавить в архив.
Для получения дополнительной информации о команде tar обратитесь к странице документации Gnu tar .
как выйти из этого йобанного тар???????
В него надо сначала зайти