tar.gz, также известный как tgz, - это формат файлов, используемый для архивов, сжатых с помощью gzip. Он популярен в среде Linux для распространения файлов, поскольку предлагает хороший баланс между эффективностью сжатия и скоростью.
Распаковать файлы tar.gz можно с помощью утилиты командной строки tar, которая предустановлена в большинстве дистрибутивов Linux. Хотя tar работает в командной строке, он также служит основой для различных программ с графическим интерфейсом пользователя (GUI).
Шаги по открытию сжатого gzip-архива tar в Linux:
Откройте приложение терминала.
Проверьте, является ли файл действительным gzip-архивом (необязательно).
1 | file archive.tar.gz |
1 | archive.tar.gz: gzip compressed data, last modified: Wed Aug 21 08:36:18 2023, from Unix, original size 10240 |
Создайте папку, в которую вы хотите распаковать файл (необязательно).
1 | mkdir target |
Перейдите в нужную директорию, в которую вы хотите распаковать файл (необязательно).
1 | cd target |
Распакуйте файл с помощью команды tar.
1 | tar --extract --gzip --verbose --file=/home/user/archive.tar.gz |
1 | tar -xzvf /home/user/archive.tar.gz |
Просмотрите содержимое распакованного файла.
1 | ls -R |
Опции для tar.
Выбор локального имени файла
- --add-file=FILE добавить заданный ФАЙЛ в архив (полезно, если его имя начинается с тире)
- -C, --directory=DIR переход в каталог DIR
- --exclude=PATTERN исключить файлы, заданные в виде PATTERN
- --exclude-backups исключить резервные копии и файлы блокировки
- --exclude-caches исключить содержимое каталогов, содержащих CACHEDIR.TAG, за исключением самого файла тега
- --exclude-caches-all исключить каталоги, содержащие CACHEDIR.TAG
- --exclude-caches-under исключить все, что находится под каталогами, содержащими CACHEDIR.TAG
- --exclude-ignore=FILE читать шаблоны исключения для каждой директории из FILE, если он существует
- --exclude-ignore-recursive=FILE считывание шаблонов исключения для каждого каталога и его подкаталогов из ФАЙЛА, если он существует
- --exclude-tag=FILE исключить содержимое каталогов, содержащих FILE, за исключением самого FILE
- --exclude-tag-all=FILE исключить каталоги, содержащие FILE
- --exclude-tag-under=FILE исключить все, что находится под каталогами содержащих ФАЙЛ
- --exclude-vcs исключить каталоги системы контроля версий
- --exclude-vcs-ignores чтение шаблонов исключения из файлов игнорирования VCS
- --no-null отключает эффект предыдущей опции --null
- --no-recursion избежать автоматического спуска в каталогах
- --no-unquote не раскрывать кавычки в именах входных файлов и членов
- --no-verbatim-files-from -T рассматривает имена файлов, начинающиеся с тире, как опции (по умолчанию)
- --null -T считывает нуль-терминированные имена; подразумевает.
- --recursion - рекурсия в каталоги (по умолчанию)
- -T, --files-from=FILE получить имена для извлечения или создания из FILE
- --unquote раскрыть кавычки в именах входных файлов или членов (по умолчанию)
- --verbatim-files-from -T читает имена файлов дословно (без экранирования или обработки опций)
- -X, --exclude-from=FILE исключение шаблонов, перечисленных в FILE
Опции сопоставления имен файлов (влияют как на исключающие, так и на включающие шаблоны)
- --anchored patterns соответствовать началу имени файла
- --ignore-case игнорировать регистр
- --no-anchored шаблоны совпадают после любого '/' (по умолчанию для исключения)
- --no-ignore-case сопоставление с учетом регистра (по умолчанию)
- --no-wildcards дословное сопоставление строк
- --no-wildcards-match-slash подстановочные знаки не совпадают с '/'
- --wildcards использовать подстановочные знаки (по умолчанию для исключения)
- --wildcards-match-slash подстановочные знаки совпадают с '/' (по умолчанию для исключения)
Основной режим работы
- -A, --catenate, --concatenate добавление tar-файлов в архив
- -c, --create создать новый архив
- -d, --diff, --compare найти различия между архивом и файловой системой
- --delete удалить из архива (не на магнитных лентах!)
- -r, -append добавить файлы в конец архива
- -t, --list перечислить содержимое архива
- --test-label проверить метку тома архива и выйти
- -u, --update добавлять только файлы, более новые, чем копия в архиве
- -x, --extract, --get извлечь файлы из архива
Модификаторы операций
- --check-device проверка номеров устройств при создании инкрементных архивов (по умолчанию)
- -g, --listed-incremental=FILE обрабатывать новые инкрементные резервные копии в формате GNU
- -G, --incremental обрабатывать старые инкрементные резервные копии формата GNU
- --hole-detection=TYPE техника обнаружения дыр
- --ignore-failed-read не выходить с ненулевым значением для нечитаемых файлов
- --level=NUMBER уровень дампа для созданного инкрементального архива с листингом
- -n, --seek архив доступен для поиска
- --no-check-device не проверять номера устройств при создании инкрементных архивов
- --no-seek архив не является искомым
- --occurrence[=NUMBER] обрабатывать только НОМЕРНОЕ вхождение каждого файла в архиве; эта опция действительна только в в сочетании с одной из подкоманд --delete, --diff, --extract или --list и когда список файлов указан либо в командной строке, либо через -T; по умолчанию ЧИСЛО равно 1
- --sparse-version=MAJOR[.MINOR]
- устанавливает версию используемого формата разрежения (подразумевает --sparse)
- -S, --sparse эффективно обрабатывает разреженные файлы
Контроль перезаписи
- -k, --keep-old-files не заменяют существующие файлы при извлечении, рассматривать их как ошибки
- --keep-directory-symlink сохранять существующие симлинки на каталоги при извлечении
- --keep-newer-files не заменять существующие файлы, которые новее, чем их архивных копий
- --no-overwrite-dir сохранять метаданные существующих каталогов
- --one-top-level[=DIR] создать подкаталог, чтобы избежать потери файлов извлеченные
- --overwrite перезаписывать существующие файлы при извлечении
- --overwrite-dir перезаписывать метаданные существующих каталогов при извлечении (по умолчанию)
- --recursive-unlink пустые иерархии перед извлечением каталога
- --remove-files удалять файлы после добавления их в архив
- --skip-old-files не заменять существующие файлы при извлечении, молча пропускать их
- -U, --unlink- сначала удалять каждый файл перед извлечением поверх него
- -W, --verify попытка проверки архива после его записи
Выбрать выходной поток
- --ignore-command-error игнорировать коды выхода дочерних команд.
- --no-ignore-command-error рассматривать ненулевые коды выхода дочерних команд как ошибку
- -O, --to-stdout извлечь файлы в стандартный вывод
- --to-command=COMMAND передавать извлеченные файлы в другую программу
Обработка атрибутов файлов
- --atime-preserve[=METHOD] сохранять время доступа к файлам дампа, либо восстанавливая время после чтения (METHOD='replace'; по умолчанию), либо не устанавливая времени вообще (METHOD='system')
- --clamp-mtime устанавливает время только в том случае, если файл более поздний, чем того, которое было задано с помощью параметра --mtime
- --delay-directory-restore-откладывать установку времени модификации и разрешения извлеченных каталогов до конца извлечения
- --group=NAME заставляет использовать NAME в качестве группы для добавленных файлов
- --group-map=FILE использовать FILE для сопоставления GID и имен владельцев файлов
- --mode=CHANGES принудительно установить (символический) режим CHANGES для добавленных файлов
- --mtime=DATE-OR-FILE установить mtime для добавленных файлов от DATE-OR-FILE
- -m, --touch не извлекать время изменения файла
- -no-delay-directory-restore отменить действие опции --delay-directory-restore
- --no-same-owner извлекать файлы под своим именем (по умолчанию для обычных пользователей)
- --no-same-permissions применять umask пользователя при извлечении разрешений из архива (по умолчанию для обычных пользователей)
- --numeric-owner всегда использовать цифры для имен пользователей/групп
- --owner=NAME заставляет NAME быть владельцем для добавленных файлов
- --owner-map=FILE использовать FILE для сопоставления UID и имен владельцев файлов
- -p, --preserve-permissions, --same-permissions извлекать информацию о разрешениях на файлы (по умолчанию для суперпользователя)
- --same-owner попытаться извлечь файлы с тем же владельцем, что существует в архиве (по умолчанию для суперпользователя)
- -s, --preserve-order, --same-order аргументы членов перечисляются в том же порядке, что и файлы в архиве
- --sort=ORDER порядок сортировки каталогов: нет (по умолчанию), по имени или inode
Обработка расширенных атрибутов файлов
- --acls Включить поддержку POSIX ACLs
- --no-acls Отключить поддержку POSIX ACLs
- --no-selinux Отключить поддержку контекста SELinux
- --no-xattrs Отключить поддержку расширенных атрибутов
- ---selinux Включить поддержку контекста SELinux
- --xattrs Включить поддержку расширенных атрибутов
- --xattrs-exclude=MASK указать шаблон исключения для ключей xattr
- --xattrs-include=MASK указать шаблон включения для ключей xattr
Выбор и переключение устройств
- -f, --file=ARCHIVE использовать архивный файл или устройство ARCHIVE
- --force-local архивный файл будет локальным, даже если в нем есть двоеточие
- -F, --info-script=NAME, --new-volume-script=NAME запускать скрипт в конце каждой ленты (подразумевает -M)
- -L, --tape-length=NUMBER сменить ленту после записи NUMBER x 1024 байт
- -M, --multi-volume создание/списка/извлечение многотомного архива
- --rmt-command=COMMAND использовать заданную rmt COMMAND вместо rmt
- --rsh-command=COMMAND использовать удаленную КОМАНДУ вместо rsh
- --volno-file=FILE использовать/обновить номер тома в FILE
Блокировка устройства
- -b, --blocking-factor=BLOCKS BLOCKS x 512 байт на запись
- -B, --read-full-records блокировать по мере чтения (для 4.2BSD)
- -i, --ignore-zeros игнорировать обнуленные блоки в архиве (означает EOF)
- --record-size=NUMBER ЧИСЛО байт на запись, кратное 512
Выбор формата архива
-H, --format=FORMAT создать архив заданного формата.
FORMAT - это один из следующих форматов:
- gnu Формат GNU tar 1.13.x
- oldgnu GNU формат согласно tar <= 1.12
- pax Формат POSIX 1003.1-2001 (pax)
- posix то же, что и pax
- ustar Формат POSIX 1003.1-1988 (ustar)
- v7 старый формат V7 tar
Опции сжатия
- -a, --auto-compress использовать суффикс архива для определения сжатия
- -I, --use-compress-program=PROG фильтровать через PROG (должно быть принято -d)
- -j, ---bzip2 фильтровать архив через bzip2
- -J, --xz фильтровать архив через xz
- --lzip фильтровать архив через lzip
- --lzma фильтровать архив через xz
- --lzop фильтровать архив через lzop
- --no-auto-compress не использовать суффикс архива для определения программа сжатия
- -z, --gzip, --gunzip, --ungzip фильтровать архив через gzip
- --zstd фильтровать архив через zstd
- -Z, --compress, --uncompress фильтровать архив через compress
Выбор локального файла
- --backup[=CONTROL] резервное копирование перед удалением, выбор версии CONTROL
- -h, --dereference следовать симлинкам; архивировать и выгружать файлы, на которые они на которые они указывают
- --hard-dereference следовать жестким ссылкам; архивировать и сбрасывать файлы, на которые они указывают ссылаются
- -K, --starting-file=MEMBER-NAME начинать с члена MEMBER-NAME при чтении файла архива
- --newer-mtime=DATE сравнивать только дату и время изменения данных
- -N, --newer=DATE-OR-FILE, --after-date=DATE-OR-FILE хранить только файлы, более новые, чем DATE-OR-FILE
- --one-file-system оставаться в локальной файловой системе при создании архива
- -P, --absolute-names не удалять ведущие '/' из имен файлов
- --suffix=STRING резервное копирование перед удалением, отменяет обычный суффикс ('~' если он не переопределен переменной окружения SIMPLE_BACKUP_SUFFIX)
Преобразования имени файла
- --strip-components=NUMBER удаляет из имен файлов ведущие компоненты NUMBER имена при извлечении
- --transform=EXPRESSION, --xform=EXPRESSION использовать sed-замену EXPRESSION для преобразования имен файлов
имена
Информативный вывод
- --checkpoint[=NUMBER] выводить сообщения о ходе выполнения каждые NUMBER-ые записи (по умолчанию 10)
- --checkpoint-action=ACTION выполнить ACTION на каждой контрольной точке
- --full-time вывести время файла в полном разрешении
- --index-file=FILE отправлять подробный вывод в FILE
- -l, --check-links вывести сообщение, если не все ссылки выведены в дамп
- --no-quote-chars=STRING отключить кавычки для символов из STRING
- --quote-chars=STRING дополнительно заключать в кавычки символы из STRING
- --quoting-style=STYLE установить стиль цитирования имени; см. ниже допустимые значения STYLE значения
- -R, --block-number показывать номер блока в архиве с каждым сообщением
- --show-defaults показать настройки tar по умолчанию
- --show-omitted-dirs при листинге или извлечении выводить список каждого каталога который не соответствует критериям поиска
- --show-snapshot-field-ranges показать допустимые диапазоны для полей snapshot-файла
- --show-transformed-names, --show-stored-names показать имена файлов или архивов после преобразования
- --utc вывести время модификации файла в UTC
- -v, --verbose выводит подробный список обработанных файлов
- --warning=KEYWORD управление предупреждением
- -w, --interactive, --confirmation запрашивать подтверждение для каждого действия
Другие опции
- -?, --help дать этот список справки
- --restrict запрещает использование некоторых потенциально опасных опций
- --usage вывести краткое сообщение об использовании
- --version вывести версию программы