Ответы:
Tar - это инструмент архивации (Tape ARchive), он собирает только файлы и их метаданные вместе и создает один файл. Если вы хотите сжать этот файл позже, вы можете использовать gzip / bzip2 / xz. Для удобства tar предоставляет аргументы для автоматического сжатия архива. Ознакомьтесь с man-страницей tar для более подробной информации.
thing.tar.7z
z
и определяет метод сжатия на основе расширения, тогда как GNU tar имеет отдельные zZjJ
аргументы для различных методов сжатия.
zZjJ
для сжатия отдельный файл, как GNU tar. Тем не менее, он автоматически обнаруживает сжатие при распаковке, тогда как GNU tar ожидает и zZjJ
тогда.
tar
распаковывают автоматически, не требуя -zZjJ
опций.
tar
производит архивы; Сжатие - это отдельная функциональность. Однако tar
одно это может уменьшить использование пространства при использовании большого количества небольших файлов, размер которых меньше размера кластера файловой системы. Если файловая система использует кластеры размером 1 КБ, даже файл, содержащий один байт, будет занимать 1 КБ (плюс индекс). tar
Архив не имеет эти накладные расходы.
Кстати, ISO-файл на самом деле не «файл для хранения файлов» - это фактически образ всей файловой системы (изначально предназначенной для использования на компакт-дисках), и, следовательно, его структура значительно сложнее.
Исходная команда tar в UNIX не сжимала архивы. Как упоминалось в комментарии, Solaris tar не сжимается. Ни HP-UX, ни AIX, FWIW. По соглашению, несжатые архивы заканчиваются .tar
.
С GNU / Linux вы получаете GNU tar. (Вы можете установить GNU tar в других системах UNIX.) По умолчанию он не сжимается; однако, он делает сжать полученный архив с помощью Gzip (также по GNU) , если вы поставляете -z
. Обычный суффикс для сжатых файлов таков .gz
, что вы часто будете видеть tarballs (сленг для архива tar, обычно подразумевающий, что он был сжат), заканчивающиеся на .tar.gz
. Это окончание подразумевает, что tar был запущен, за ним следует gzip, например tar cf - .|gzip -9v > archive.tar.gz
. Вы также найдете архивы заканчивая .tgz
, например tar czf archive.tgz .
.
Edit: www.linfo.org/tar.html напомнил мне, что GNU tar поддерживает гораздо больше функций, чем просто сжатие с помощью gzip, и напомнил мне, что суффиксы - это больше, чем простые соглашения. У них есть встроенная семантика. Он также поддерживает bzip2 ( -j
для .bz2
) и старый компрессор ( -Z
для .Z
). Затем я посмотрел на страницу руководства и мне напомнили, что -a
автоматически сопоставляет желаемый метод сжатия на основе суффикса.
Еще одна гнида Как говорится в справочной странице по tar для Linux, GNU создает информационные страницы, а не справочные страницы, поэтому, чтобы узнать все о GNU tar, запустите info tar
.