Формат файла
Обзор
Файлы TAR, представляющие собой Tape ARchive, являются жизненно важными в мире управления файлами, особенно на системах, основанных на Unix. Созданные в 1979 году AT&T Bell Laboratories, TAR файлы служат простым, но мощным механизмом для объединения нескольких файлов и каталогов в один архив без компрессии. Этот формат широко используется во всех различных операционных систем из-за его простоты и совместимости. Независимо от того, являетесь ли вы разработчиком, который ищет код источника упаковки или системный администратор, управляющий резервными копиями, понимание ввода и выхода данных TAR может значительно улучшить ваш рабочий поток.
Ключевые особенности
- Uncompressed Storage: TAR хранит данные в некомпрессированной форме, делая их идеальными для быстрого передачи файлов без беспокойства о компрессии.
- Детальные метаданные: Каждый файл в архиве TAR включает в себя метаданы, такие как временные знаки, детали собственности и разрешения, обеспечивая сохранение оригинального контекста каждого файла.
- Кросс-платформная совместимость: Несмотря на то, что они укореняются в системах Unix, файлы TAR поддерживаются большинством современных операционных систем, делая их универсальными для различных сред.
- Стандартизированный формат: Формат соответствует стандартам POSIX (POSIX.1-1988 и более поздним ПОСИКС.1-2001), обеспечивая консистенцию в различных внедрениях.
- End-of-File Marker: Файлы TAR включают два блока финального знака файла, который помогает идентифицировать пункт окончания архива.
Технические спецификации
Формат структуры
TAR - это текстовый формат, который организует данные в блоки 512 байтов. Каждый блок может представлять либо заголовок, либо содержимое файла. Отсутствие магического номера отличает его от других форматов, таких как ZIP, где используются конкретные идентификаторы для распознавания типа архива.
Ключевые компоненты
- Header Block: содержит метаданные о каждом файле, такие как имя, режим, идентификатор пользователя, ID группы, размер и временные знаки.
- Файл-контент Блоки: Следите за заголовками и содержите фактические данные файла. Эти блоки могут быть группированы в большее подразделение для эффективных I/O операций (блокирование).
- End-of-File Marker: состоит из двух 512-байтных блоков, заполненных бинарными нулями, чтобы означать конец архива.
Стандарты и совместимость
TAR соответствует стандартам POSIX, обеспечивая совместимость между различными системами и версиями. хотя он не поддерживает компрессию ровно, различные расширения, такие как .tar.gz
(gzip или .tar.bz2
(bzip2) обычно используются для компрессированных архивов TAR.
История и эволюция
- 1979: впервые представлен AT&T Bell Laboratories.
- POSIX.1-1988 и POSIX1-2001: были установлены стандарты для стандартизации формата, обеспечивая последовательность в различных реалиях.
- GNU Tar: Усовершенствованная версия с дополнительными функциями, такими как паксные расширения для лучшей совместимости.
Работа с TAR Files
Открытие файлов
Чтобы открыть файл TAR:
- Windows: установить 7-Zip или использовать Windows Subsystem для Linux (WSL).
- Mac: Двойно нажмите на файл, чтобы вывести его.
- Линукс: используется
tar -xvf
Командование в терминале.
Конвертирование файлов
Общие конверсии включают компрессирование файлов TAR в .tar.gz
, .tar.bz2
, Например, конвертирование плоского файла TAR в компрессированный gzip можно сделать с помощью:
tar -czf archive.tar.gz directory/
Создание TAR файлов
Для создания нового файла TAR на системах Linux или Unix:
tar -cvf archive.tar /path/to/directory
В Windows вы можете использовать WSL или инструменты третьих лиц, такие как 7-Zip.
Общие случаи использования
- Запамятка и восстановление: Идеально подходит для создания резервных копий директоров и файлов без компрессии.
- Файловое распределение: Распространение больших наборов файлов по сетям в некомпрессированном формате.
- Управление кодом источника: Бундирование кодовых хранилищ до загрузки в системы управления версиями или обмена ими с сотрудниками.
Преимущества и ограничения
Преимущества:
- Простая и легко понимаемая структура
- Cross-platform совместимость
- Подробное содержание метаданных
Ограничения:
- Нет встроенной компрессионной поддержки (особенно такие расширения, как
.tar.gz
широко используется) - Большие размеры файлов по сравнению с компрессированными форматами
Разработчики ресурсов
Программирование с файлами TAR поддерживается через различные АПИ и библиотеки. Примеры кода и руководства по внедрению будут добавлены в ближайшее время.
Часто задаваемые вопросы
Почему файл TAR не имеет магического номера?
В отличие от других форматов архива, TAR не использует конкретный идентификатор в начале файла для обозначения своего типа.
Как я могу проверить, является ли файл TAR полным?
Убедитесь, что последние два блока файла заполняются бинарными нулями (512-байт фин-оф-маркеров.
Какая разница между .tar и .ar.gz файлы?
План
.tar
файл является некомпрессированным архивом, в то время как.tar.gz
Файлы компрессируются с помощью gzip-компрессии для уменьшения размеров.