aspose.info
BG

TAR - Unix архивен файлов формат

Обновено

Какво е TAR файл?

Файловете с разширение .tar са архиви, създадени с Unix-базирана програма за събиране на един или повече файлове. Множество файлове се съхраняват в некомпресиран формат с поддръжка за добавяне на файлове, както и папки към архива. Помощната програма TAR в Unix е базирана на команди, но създадените по този начин файлове се поддържат от повечето системи за архивиране на файлове на почти всички операционни системи. Създаден е за първи път през 1979 г. от AT&T Bell Laboratories и следващите версии са публикувани с течение на времето.

Файлов формат TAR

TAR е отворен файлов формат с пълни спецификации, достъпни за справка от разработчиците. Неговата файлова структура е стандартизирана в POSIX.1-1988 и по-късно в POSIX.1-2001. Наборите от данни, създадени от tar, запазват информация за параметрите на файловата система като:

  • Име
  • Печати за време
  • Собственост
  • Разрешения за достъп до файлове
  • Организация на справочника

Файлът Tar няма магическо число. Той съдържа поредица от блокове, като всеки блок е от BLOCKSIZE байта.

Всеки архивиран файл е представен от заглавен блок, който описва файла, последван от нула или повече блокове, които дават съдържанието на файла. В края на архивния файл има два 512-байтови блока, попълнени с двоични нули като маркер за край на файла. Една разумна система трябва да напише такъв маркер за край на файл в края на архив, но не трябва да приема, че такъв блок съществува, когато чете архив. По-специално GNU tar винаги издава предупреждение, ако не го срещне.

Блоковете може да са блокирани за физически I/O операции. Всеки запис от n блока (където n е зададено от опцията blocking-factor = 512-size за tar) се записва с една операция “write()”. На магнитни ленти резултатът от такова записване е единичен запис. Когато пишете архив, последният запис на блокове трябва да бъде записан в пълен размер, като блоковете след нулевия блок съдържат всички нули. Когато чете архив, разумната система трябва правилно да обработва архив, чийто последен запис е по-къс от останалите или който съдържа боклук след нулев блок.

Tar Header

Както всички други заглавки на файлове, записът на заглавката на файла tar съдържа метаданни за файл и е показан в следващата таблица.

Отместване на полетоРазмер на полето (байтове)Поле
0100Име на файл
1008Файлов режим
1088Цифров потребителски идентификатор на собственика
1168Числовият потребителски идентификатор на групата
12412Размер на файла в байтове (осмична основа)
13612Време на последна модификация в цифров Unix формат на времето (осмично)
1488Контролен запис за заглавен запис
1561Индикатор за връзка (тип файл)
157100Име на свързания файл

Неизползваните полета се попълват с NUL байтове. Заглавието се състои от 257 байта, които са подплатени с NUL байтове, за да се запълни до 512 байтов запис.

Препратки

Вижте също