Мы обычно знаем, что сжатие - это уменьшение размера данных, чтобы сэкономить пространство или время передачи, и я должен ожидать большего размера при извлечении сжатого файла. Я скачал файл в формате tar (95 КБ), и когда я извлек его, его размер уменьшился (5,7 КБ), и при этом были некоторые другие файлы, которые теперь даже показывают 0 байт. Что может быть причиной этого.
1 ответ
Формат tar не сжимается. Но он добавляет заголовки в начале каждого файла или каталога в архиве. Заголовки используются tar для указания имени файла, метки времени и т.д. Эта информация не является частью данных внутри файла, но tar нуждается в ней для воссоздания файла. Каждый заголовок обычно составляет 512 байт, но может быть больше, если имя файла длиннее 100 символов. Конец архива tar отмечен пустым заголовком. Эти заголовки обычно объясняют любую разницу в размере между архивом и всем извлеченным из него.
Могут также быть различия, которые не могут быть объяснены размером заголовков tar, но они в основном угловые случаи и их трудно диагностировать, не видя файл tar или, по крайней мере, его список. Одно из возможных объяснений огромной разницы, огромного tar-файла, но очень мало извлеченного из него, состоит в том, если архив содержит много копий одного и того же файла. Это может произойти, если кто-то продолжит добавлять новые версии в конец, возможно, в качестве стратегии резервного копирования. Извлечение tar просто перезаписывает один и тот же файл каждый раз, не занимая больше места.