streamzip
СОДЕРЖАНИЕ
ИМЯ
streamzip — создание архива zip из стандартного ввода
СИНТАКСИС
producer | streamzip [opts] | consumer
producer | streamzip [opts] -zipfile=output.zip ОПИСАНИЕ
Эта программа будет считывать данные из stdin, сжимать их в контейнер zip и, по умолчанию, записывать потоковый архив zip в stdout. Временные файлы не создаются.
Контейнер zip, записываемый в stdout, по необходимости записывается в потоковом формате. Большинство программ, которые считывают файлы Zip, могут обрабатывать потоковые zip-архивы, но если межплатформенная совместимость важна, а ваш рабочий процесс позволяет записать zip-архив непосредственно на диск, вы можете создать не потоковый zip-архив, используя опцию zipfile.
НАСТРОЙКИ
- -zip64
-
Создать совместимый с Zip64 контейнер zip. Используйте эту опцию, если входной данные больше 4 ГБ.
По умолчанию отключено.
- -zipfile=F
-
Записать контейнер zip в файл с именем
F.Используйте опцию
Streamдля принудительного создания потокового zip-архива. - -member-name=M
-
Эта опция используется для именования «файла» в контейнере zip.
По умолчанию — «-».
- -stream
-
Игнорируется при записи в
stdout.Если указана опция
zipfile, включение этой опции вызовет создание потокового zip-архива.По умолчанию: всегда включена при записи в
stdout, в противном случае отключена. - -method=M
-
Сжатие с использованием метода
M.Допустимые имена методов:
* store Store without compression * deflate Use Deflate compression [Deflault] * bzip2 Use Bzip2 compression * lzma Use LZMA compression * xz Use xz compression * zstd Use Zstandard compressionОбратите внимание, что для сжатия Lzma необходимо установить
IO::Compress::Lzma.Обратите внимание, что для сжатия Zstd необходимо установить
IO::Compress::Zstd.По умолчанию
deflate. - -0, -1, -2, -3, -4, -5, -6, -7, -8, -9
-
Устанавливает уровень сжатия для
deflate. Игнорируется для всех других методов сжатия.-0означает отсутствие сжатия, а-9— максимальное сжатие.По умолчанию 6
- -version
-
Отобразить номер версии
- -help
-
Отобразить справку
Примеры
Создайте zip-файл, считывая данные из стандартного ввода
$ echo Lorem ipsum dolor sit | perl ./bin/streamzip >abcd.zip Проверьте содержимое abcd,zip с помощью стандартной утилиты unzip
Archive: abcd.zip
Length Date Time Name
--------- ---------- ----- ----
22 2021-01-08 19:45 -
--------- -------
22 1 file Обратите внимание, как Name установлено в -. Это значение по умолчанию для некоторых утилит zip, где имя элемента не задано.
Если вы хотите явно указать имя файла, используйте опцию -member-name следующим образом
$ echo Lorem ipsum dolor sit | perl ./bin/streamzip -member-name latin >abcd.zip
$ unzip -l abcd.zip
Archive: abcd.zip
Length Date Time Name
--------- ---------- ----- ----
22 2021-01-08 19:47 latin
--------- -------
22 1 file Когда создавать архивы Zip в потоковом режиме
Потоковый Zip-архив полезен в ситуациях, когда вы не можете искать назад/вперед в файле.
Хороший пример — когда вы предоставляете динамическое содержимое с веб-сервера прямо в сокет без необходимости создания временного zip-файла в файловой системе.
Аналогично, если ваш рабочий процесс использует командную цепочку Linux.
ПОДДЕРЖКА
Общие отзывы, вопросы и сообщения об ошибках следует отправлять на https://github.com/pmqs/IO-Compress/issues (предпочтительно) или https://rt.cpan.org/Public/Dist/Display.html?Name=IO-Compress.
АВТОР
Пол Маркесс pmqs@cpan.org.
АВТОРСКИЕ ПРАВА
Авторские права (c) 2019-2021 Пол Маркесс. Все права защищены.
Эта программа является свободной программой; вы можете распространять и/или изменять ее в соответствии с теми же условиями, что и Perl сам.
© 1993–2021 Larry Wall and others
Licensed under the GNU General Public License version 1 or later, or the Artistic License.
The Perl logo is a trademark of the Perl Foundation.
https://perldoc.perl.org/5.34.0/streamzip