По какой причине файлы .tar.gz имеют два расширения вместо одного?

1643
yoyo_fun

Из того, что я понимаю, этот тип файла является архивом, как и файлы RAR. Почему нет расширения .targz просто и понятно? Существует ли более одной программы, которая создает файл такого типа, и каждая из них добавляет свое расширение к результирующему файлу?

Есть ли другой эквивалент этого типа файла? Это единственное «двойное расширение», которое я видел до сих пор. Есть ли другой файл, подобный этому?

4

4 ответа на вопрос

9
Hennes

По какой причине файлы .tar.gz имеют два расширения вместо одного? Из того, что я понимаю, этот тип файла является архивом, как и файлы RAR.

Не совсем. В былые времена, когда процессорное время было очень дорогим, архивы часто были несжатыми или использовали сжатое оборудование на ленточном накопителе. Инструмент обычно используют для этого был т обезьяна ар резанец.

В отличие от того, что предлагает название, он может записать архив в любой файл (а на Un * xa ленточный накопитель похож на файл). Так что создать несжатый архив очень просто.

Если вы хотите сжать это, вы можете сначала создать архив (со всеми его файлами и папками), а затем сжать ваш archive.tar чем-то вроде compress. Compress добавляет суффикс .Z, чтобы у вас был файл с двумя расширениями. (archive.tar.Z).

Со временем компресс был заменен на gzip (и расширение .gz), и многие версии tar могут сделать это сжатие на месте.

Rar (и arj, lha, zip и другие) более современны и сжимают файлы на месте. В этом случае вы используете одну единственную программу и получаете одно расширение. Но для tar расширения и создание целого архива, а затем сжатие всего архива являются результатом истории.

Таким образом, архивы RAR или ZIP-архивы также не склеивают файлы, а затем сжимают полученный мега-файл? Они работают по-другому? yoyo_fun 7 лет назад 0
Большинство из них сжимают каждый файл и сохраняют этот файл в архиве. Tar хранит все файлы в одном файле, и этот единственный поток сжимается. Это имеет последствия, когда вы хотите извлечь одну часть архива. Если сжатие выполняется для каждого файла, вам нужно только извлечь информацию для этого файла и распаковать его. С .tar.Z | tar.gz | tar.bz | ... вам может понадобиться вся информация вплоть до файла, который вы извлекаете. Hennes 7 лет назад 1
Я понимаю преимущество сжатия сначала и «архивирования позже». Однако есть ли какая-то польза от архивирования в первую очередь, а затем от сжатия. Я думаю, что сжатие файла большего размера может быть гораздо более эффективным, чем сжатие отдельных файлов. Сейчас я думаю о сжатии Хаффмана, и, если я правильно помню, более эффективно сжимать большие файлы или документы или ... больше данных, чем меньше данных. Я не уверен, хотя .. я могу ошибаться. yoyo_fun 7 лет назад 0
Это также мое понимание; Наличие большего набора данных для сжатия должно обеспечить лучшее общее сжатие. Если я правильно понял, то это все еще компромисс между более простым извлечением отдельного файла и чуть более эффективным размером архива. Hennes 7 лет назад 0
3
Ipor Sircer

Потому что это tarфайл, сжатый с gzip.

Способ изготовления: tar a archive.tar dir/myfile

Затем gzip archive.tar, который выдает tar.gzпо умолчанию.

В старые добрые времена DOS расширение было .tgz.

2
Keltari

Это пережиток старых * Nix дней. .TAR - это tape archive. Tarballing создал один файл из нескольких файлов и / или папок, что сделало перемещение их на ленту более эффективным. До тех пор, пока сжатие этих файлов не стало стандартом. Отсюда .tar.gz.

1
w17t

tarрасшифровывается как tarball и архивы (следовательно, ball ) (превращает несколько файлов в один), а также gzобозначает gunzip и сжимает (или zips ) (уменьшает размер) файла.


Другим методом сжатия (альтернативой Gunzip) является Bzip2, который использует другой алгоритм сжатия. Это означает, что вы могли бы встретиться .tar.bz2(или даже в его сцепленной форме .tbz).

Похожие вопросы