Intereting Posts
Эта команда ddrescue ничего не делает? Файлы доступа к Samsung GT-S5230 (Avila) Поведение канала «|» в Linux с перенаправлением вывода «>» Может ли IFS (внутренний разделитель полей) функционировать как отдельный разделитель для нескольких последовательных разделительных символов? Kali на RPI, не может обновить Kernel и установить текущие заголовки или найти старые заголовки для сборки импульсные звуковые колонки по умолчанию звучат в качестве наушников Установите rpm из пользовательского репо Обновление емкости SSD – клонов Как форматировать c при установке Ubuntu? Разрешение 1366×768 в Debian Wheezy на плате Atom D525 Последний Debian wheezy / тестирование ISO по умолчанию для KDE? Ошибка Bash, не распознающая escape-коды Unicode Изменение способа автоматического вращения экрана работает в оболочке Gnome Systemd убивает сервис сразу после запуска перемещение двоичных файлов из bin в определенную папку

извлечение смолы также автоматически распаковывается

Когда я бегу

tar -cvzf archive.tgz file1 file2 ; rm file1 file2 

он обычно создает сжатый tarball, но как возможно, что

 tar -xvf archive.tgz 

возвращает мне несжатые файлы? Я всегда думал, что потребуется флаг -z.

Ваша реализация tar , вероятно, GNU , обнаруживает, что файл, переданный как параметр, сжимается.

В основном используемые tar реализации в настоящее время, GNU tar и busybox , ищут первые байты файла, а также магическое число, чтобы выяснить, сжата ли она и использовать алгоритм сжатия.

Реализации tar найденные в коммерческих Unix, основанных на исходном коде AT & T, в первую очередь не поддерживают флаг -z . Одним из примечательных исключений является Solaris 11 tar которое добавлено это расширение, включая возможность обнаружения формата файла.

Star представила автоматизированное обнаружение сжатия и автоматическую декомпрессию aprox. 20 лет назад.

В эти дни некоторые другие реализации tar, такие как gtar, скопировали эту идею.

BTW: звезда понимает магические числа в сжатом потоке, чтобы обнаружить правильный метод декомпрессии. Также обратите внимание, что сообщается, что gtar завершился неудачей, когда сжатый архив считывается из stdin вместо указанного файла.

Опция -z не требуется в двух хорошо известных реализациях tar: GNU tar и BSD tar (aka libarchive ). Обнаружение требуемого алгоритма сжатия является тривиальным, если проверить первые несколько байтов входного файла.

Независимо от того, используете ли вы одну или другую из этих реализаций, во многом зависит от используемой операционной системы: систем на базе Linux или систем BSD (включая OSX).

Я кратко изложил детали, когда эти функции были представлены на моей странице о tar и переносимости .