Извлечь файл TARGZ
Перетащите и отпустите или нажмите для выбора
Конфиденциально и безопасно
Все происходит в вашем браузере. Ваши файлы никогда не попадают на наши серверы.
Молниеносно
Никаких загрузок, никаких ожиданий. Конвертируйте в тот момент, когда вы перетаскиваете файл.
Действительно бесплатно
Не требуется учетная запись. Никаких скрытых платежей. Никаких уловок с размером файла.
Что такое формат TARGZ?
TAR GZ
USTAR (Unix Standard Tape Archive) — это формат файла, используемый для архивирования и распространения файлов в Unix и Unix-подобных операционных системах. Он был введен в 1980-х годах как стандартизированный метод создания архивных копий на лентах, которые можно было легко обменивать между различными системами Unix. С тех пор формат USTAR стал широко используемым стандартом для упаковки и распространения программного обеспечения, данных и других файлов на различных платформах.
Формат USTAR является расширением более раннего формата TAR (Tape Archive), который использовался для создания архивных файлов на магнитных лентах. Формат TAR позволял объединять несколько файлов в один архивный файл, что упрощало хранение и передачу больших коллекций файлов. Однако исходный формат TAR имел ограничения, такие как максимальная длина имени файла в 99 символов и максимальный размер файла в 8 ГБ.
Чтобы устранить эти ограничения, формат USTAR был разработан как улучшение исходного формата TAR. Формат USTAR внес несколько улучшений, включая поддержку более длинных имен файлов (до 255 символов), больших размеров файлов (до 8 ЭБ или 8 эксабайт) и дополнительных полей метаданных для хранения атрибутов и разрешений файлов.
Архивный файл USTAR состоит из серии записей файлов, каждая из которых представляет файл или каталог, хранящийся в архиве. Каждая запись файла состоит из заголовка и фактических данных файла. Заголовок содержит метаданные о файле, такие как его имя, размер, права собственности, разрешения и время модификации. Данные файла следуют за заголовком и хранятся как непрерывный блок байтов.
Заголовок USTAR имеет фиксированный размер 512 байт и разделен на несколько полей. Некоторые из важных полей в заголовке включают:
1. Имя файла: завершающаяся нулем строка, содержащая имя файла или каталога, длиной до 255 символов.
2. Режим файла: 12-значное восьмеричное число, представляющее разрешения и биты режима файла.
3. Идентификаторы владельца и группы: числовые идентификаторы пользователя и группы, связанные с файлом.
4. Размер файла: 12-значное восьмеричное число, представляющее размер файла в байтах.
5. Вре мя модификации: 12-значное восьмеричное число, представляющее время последней модификации файла как количество секунд с 1 января 1970 года.
6. Контрольная сумма заголовка: 8-значное восьмеричное число, используемое для обнаружения ошибок.
Формат USTAR также включает поддержку специальных типов файлов, таких как символические ссылки, жесткие ссылки и файлы устройств. Эти специальные файлы представлены с использованием определенных полей заголовка и обрабатываются по-разному во время извлечения.
При создании архива USTAR утилита архивирования (например, команда `tar`) считывает указанные файлы и каталоги, генерирует соответствующие заголовки для каждого файла и объединяет заголовки и данные файла в один архивный файл. Результирующий архивный файл может быть сжат с использованием различных алгоритмов сжатия, таких как gzip или bzip2, для уменьшения его размера.
Чтобы извлечь файлы из архива USTAR, утилита извлечения последовательно считывает архивный файл, анализируя заголовки для получения информации о каждом файле. Затем он создает необходимые файлы и каталоги на основе метаданных, хранящихся в заго ловках, и записывает данные файла в соответствующие места.
Формат USTAR получил широкое распространение и поддерживается различными инструментами архивирования и сжатия в разных операционных системах. Он обеспечивает стандартизированный и переносимый способ упаковки и распространения файлов, гарантируя совместимость и простоту использования.
Однако стоит отметить, что формат USTAR имеет некоторые ограничения. Например, он не поддерживает имена файлов длиной более 255 символов или размеры файлов более 8 ЭБ. Кроме того, в нем отсутствуют встроенные функции шифрования или проверки целостности, которые могут быть необходимы для безопасной передачи и хранения файлов.
Несмотря на эти ограничения, формат USTAR остается популярным выбором для архивирования и распространения файлов благодаря своей простоте, широкой поддержке и совместимости с широким спектром Unix и Unix-подобных операционных систем.
Подводя итог, формат архива USTAR является расширением формата TAR, которое обеспечивает стандартизированный способ упаковки и распространения файлов в системах Unix и Unix-подобных. Он поддерживает более длинные имена файлов, большие размеры файлов и дополнительные метаданные по сравнению с исходным форматом TAR. Архивы USTAR состоят из серии записей файлов, каждая из которых содержит заголовок с метаданными файла и фактическими данными файла. Формат широко поддерживается инструментами архивирования и сжатия и обычно используется для распространения программного обеспечения и обмена данными.
Сжатие файлов уменьшает избыточность, чтобы те же данные занимали меньше бит. Верхняя граница задаётся теорией информации: для без потерь пределом является энтропия источника (см. теорему кодирования источника Шеннона source coding theorem и его оригинальную статью 1948 года «A Mathematical Theory of Communication»). Для сжатия с потерями компромисс между битрейтом и качеством описывает теория rate–distortion.
Два столпа: моделирование и кодирование
Большинство компрессоров работают в два этапа. Сначала модель предсказывает или выявляет структуру данных. Затем кодер превращает эти предсказания в почти оптимальные шаблоны битов. Классическая семья моделей — Lempel–Ziv LZ77 (1977) и LZ78 (1978) находят повторяющиеся подстроки и излучают ссылки вместо сырых байтов. На стороне кодирования кодирование Хаффмана (см. статью 1952 года) назначает более короткие коды вероятным символам. Арифметическое кодирование и range coding ещё точнее приближаются к пределу энтропии, а современные Asymmetric Numeral Systems (ANS) дают схожие коэффициенты при табличных реализациях.
Что делают популярные форматы
DEFLATE (используют gzip, zlib, ZIP) сочетает LZ77 и Хаффман а. Спецификации открыты: DEFLATE RFC 1951, оболочка zlib RFC 1950и формат gzip RFC 1952. Gzip ориентирован на потоковую передачу и явно не обеспечивает произвольный доступ. PNG закрепляет DEFLATE как единственный метод (окно до 32 КиБ) согласно спецификации «Compression method 0…» и W3C/ISO PNG 2nd Edition.
Zstandard (zstd): современный универсальный компрессор с высокими коэффициентами и очень быстрой декомпрессией. Формат описан в RFC 8878 (и HTML-зеркале) и в референс-спеке на GitHub. Как и gzip, базовый фрейм не предполагает произвольног о доступа. Главное преимущество zstd — словари: маленькие образцы корпуса, резко улучшающие сжатие множества крошечных или похожих файлов (см.документацию словарей python-zstandard и пример Nigela Tao). Реализации принимают «unstructured» и «structured» словари (обсуждение).
Brotli: оптимизирован для веб-контента (WOFF2, HTTP). Совмещает статический словарь и DEFLATE-подобное ядро LZ+энтропия. Спецификация — RFC 7932, где указано окно 2WBITS−16 с WBITS в [10, 24] и то, что формат не предоставляет произвольный доступ. Brotli часто превосходит gzip на веб-тексте и быстро декодируется.
Контейнер ZIP: ZIP — файловый архив, поддерживающий разные методы (deflate, store, zstd и др.). Де-факто стандарт — APPNOTE PKWARE (см.портал APPNOTE, размещённую копиюи обзоры LC ZIP File Format (PKWARE) / ZIP 6.3.3).
Скорость vs коэффициент
LZ4 ориентирован на максимальную скорость при умеренных коэффициентах. См. страницу проекта и формат фреймов. Подходит для кэшей в памяти, телеметрии и горячих путей, где декомпрессия должна быть почти со скоростью RAM.
XZ / LZMA гнётся за плотностью (высоким коэффициентом), но компрессует медленнее. XZ — контейнер; основную работу делают LZMA/LZMA2 (моделирование наподобие LZ77 + range coding). См.формат .xz, спецификацию LZMA (Павлов)и заметки ядра Linux про XZ Embedded. XZ обычно сжимает лучше gzip и соперничает с современными кодеками высокой плотности, но кодирует дольше.
bzip2 использует преобразование Бэрроуза–Уилера (BWT), move-to-front, RLE и Хаффмана. Обычно даёт файлы меньше, чем gzip, но медленнее; см.официальный мануал и man-страницу (Linux).
Окна, блоки и произвольный доступ
Важен размер окна. Ссылки DEFLATE смотрят максимум на 32 КиБ назад (RFC 1951) и ограничение PNG 32 КиБ здесь. Brotli поддерживает окна от ~1 КиБ до 16 МиБ (RFC 7932). Zstd настраивает окно и глубину поиска уровнями (RFC 8878). Базовые потоки gzip/zstd/brotli спроектированы для последовательного чтения; сами форматы не гарантируют произвольный доступ, хотя контейнеры (индексы tar, блочное фреймирование, форматные индексы) могут его добавить.
Lossless vs lossy
Форматы выше — lossless: можно восстановить те же байты. Медиа-кодеки часто lossy: они отбрасывают незаметные детали ради меньших битрейтов. Для изображений классический JPEG (DCT, квантование, энтропийное кодирование) стандартизован в ITU-T T.81 / ISO/IEC 10918-1. В аудио MP3 (MPEG-1 Layer III) и AAC (MPEG-2/4) используют перцепционные модели и MDCT (см.ISO/IEC 11172-3, ISO/IEC 13818-7и обзор MDCT здесь). Lossy и lossless могут сосуществовать (PNG для UI, веб-кодеки для изображений/видео/аудио).
Практические советы
- Выбирайте под задачу. Текст и шрифты для веба brotli. Общие файлы и бэкапы zstd (быстрая декомпрессия и уровни для обмена временем на коэффициент). Сверхбыстрые каналы и телеметрия lz4. Максимальная плотность для долгосрочных архивов, если время кодирования приемлемо xz/LZMA.
- Мелкие файлы? Тренируйте и поставляйте словари для zstd (доки) / (пример). Они значительно ужимают десятки маленьких похожих объектов.
- Интероперабельность. При обмене множеством файлов используйте контейнер (ZIP, tar) плюс компрессор. APPNOTE для ZIP задаёт идентификаторы методов и возможности; смотрите PKWARE APPNOTE и обзоры LC здесь.
- Мерьте на своих данных. Коэффициенты и скорости зависят от корпуса. Многие репозитории публикуют бенчмарки (например, README LZ4 ссылается на корпус Silesia здесь), но всегда проверяйте локально.
Ключевые источники (углубиться)
Теория Shannon 1948 · Rate–distortion · Кодирование Huffman 1952 · Арифметическое кодирование · Range coding · ANS. Форматы DEFLATE · zlib · gzip · Zstandard · Brotli · LZ4 frame · XZ format. Стек BWT Burrows–Wheeler (1994) · руководство bzip2. Медиа JPEG T.81 · MP3 ISO/IEC 11172-3 · AAC ISO/IEC 13818-7 · MDCT.
Итог: подбирайте компрессор под свои данные и ограничения, измеряйте на реальных входах и не забывайте о выгоде словарей и умного фрейминга. С удачной парой получите меньшие файлы, быстрые передачи и отзывчивые приложения без ущерба корректности и переносимости.
Часто задаваемые вопросы
Что такое сжатие файлов?
Сжатие файлов - это процесс, который уменьшает размер файла или файлов, обычно для экономии места на диске или ускорения передачи по сети.
Как работает сжатие файлов?
Сжатие файлов работает путем идентификации и удаления избыт очности в данных. Оно использует алгоритмы для кодирования исходных данных в более маленьком пространстве.
Какие существуют типы сжатия файлов?
Два основных типа сжатия файлов: без потерь и с потерями. Сжатие без потерь позволяет восстановить исходный файл целиком, в то время как сжатие с потерями обеспечивает более значительное уменьшение размера за счет небольшой потери в качестве данных.
Приведите пример инструмента для сжатия файлов?
Популярным примером инструмента для сжатия файлов является WinZip, который поддерживает несколько форматов сжатия, включая ZIP и RAR.
Влияет ли сжатие файлов на качество файлов?
При сжатии без потерь качество остается неизменным. Однако при сжатии с потерями может быть заметное снижение качества, поскольку оно удаляет менее важные данные для более значительного уменьшения размера файла.
Безопасно ли сжатие файлов?
Да, сжатие файлов безопасно с точки зрения целостно сти данных, особенно при сжатии без потерь. Однако, как и любые файлы, сжатые файлы могут стать целью для вредоносного ПО или вирусов, поэтому всегда важно иметь надежное программное обеспечение безопасности.
Какие типы файлов можно сжимать?
Почти все типы файлов можно сжимать, включая текстовые файлы, изображения, аудио, видео и программные файлы. Однако уровень достижимого сжатия может значительно варьироваться в зависимости от типа файла.
Что такое ZIP-файл?
ZIP-файл - это тип формата файла, который использует сжатие без потерь для уменьшения размера одного или нескольких файлов. Несколько файлов в ZIP-файле фактически объединяются в один файл, что также упрощает обмен данными.
Могу ли я сжать уже сжатый файл?
Технически, да, хотя дополнительное уменьшение размера может быть минимальным или даже противопродуктивным. Сжатие уже сжатого файла иногда может увеличить его размер из-за метаданных, добавленных алгоритмом сжатия.
Как я могу распаковать файл?
Чтобы распаковать файл, обычно вам нужен инструмент для распаковки или разархивации, такой как WinZip или 7-Zip. Эти инструменты могут извлечь исходные файлы из сжатого формата.