Gzip для windows 10

Файл в формате .tar.gz — это файл, созданный с помощью tar-архиватора на базе Unix, а затем сжатый с использованием сжатия gzip. Эти файлы часто называют «тарболами». Хотя вы можете найти их с двойным расширением (.tar.gz), расширение также можно сократить до .tgz или .gz.

Обычно файлы tar обычно используются пользователями Ubuntu (других дистрибутивов Linux) и macOS для архивирования и резервного копирования данных. Однако пользователи Windows 10 также могут столкнуться с этими файлами, что является причиной для извлечения их содержимого.

Совет: обязательно обновите синтаксис команды, включив в нее исходный и целевой пути. Кроме того, поскольку вы используете tar в Windows 10, вам не нужно указывать путь, как если бы вы работали в Linux. Вы можете использовать формат пути, используемый Windows.

После выполнения этих шагов через несколько секунд все файлы и папки будут извлечены по указанному вами пути назначения.

Предполагается, что вы распаковываете архив, созданный в другой системе. Мы пропускаем некоторые аргументы, которые обычно необходимы для сохранения разрешений, которые в Windows 10 не нужны для доступа к файлам.

В Windows 10, чтобы использовать tar в Linux, вам необходимо установить подсистему Windows для Linux (WSL) и такой дистрибутив, как Ubuntu, из Microsoft Store.

В приведенной выше команде мы вводим команду sudo для запуска приложения от имени администратора, tar для вызова приложения, а затем передаем ему некоторые аргументы, в том числе:

Затем вам нужно указать путь к архиву, который вы хотите распаковать. Вы заметите, что путь начинается с /mnt/c/, а не с «c:\И» потому, что мы действительно работаем в мире Linux.

-C — (дефис и заглавная C) используется для указания tar менять папки. Когда вы выполняете команду, вы начинаете с исходной папки, а затем вам нужно указать папку назначения, которая является путем, который мы указали для завершения команды. Вы можете извлечь файлы в любую папку, но не забудьте начать путь с /mnt/path Windows.

Источник

Документация gzip

Обзор

Если имя сжатого файла слишком длинное для файловой системы, где он находится, gzip урезает его. Gzip пытается укоротить только те части имени файла, которые длиннее 3 символов (на части файл разбивается точкой). Если имя файла состоит только из коротких частей, укорачиваются только самые длинные части. Например, если имя файла ограничено 14-ю символами, gzip.msdos.exe сжимается в gzi.msd.exe.gz. Имена не укорачиваются на файловых системах, не имеющих ограничения по длине имени файла.

В случае обычных файлов, по умолчанию gzip сохраняет временную метку в архивном файле. Это может быть полезно при распаковке с помощью –N, если временная метка не сохранилась при трансфере файла. Однако, из-за ограничений текущего gzip формата, показания долей секунд отбрасываются. Также временная метка должна попадать под временной отрезок между 1970-01-01 00:00:01 и 2106-02-07 06:28:15 UTC, и хост, который использует 32 битную временную отметку в будущем будет ограничен отрезком не позже 2038-01-19 03:14:07 UTC. Верхние границы предполагают типичные случаи, когда високосные секунды не принимаются во внимание.

Вызов gzip

Формат командной строки для запуска программы ‘gzip’ следующий:

gzip поддерживает следующие опции:

Произвести вывод на стандартный вывод; оригиналы файлов остаются без изменений. Если указано несколько входных файлов, то вывод состоит из последовательности независимо пакуемых членов. Чтобы получить лучшее сжатие соедините все входные файлы перед их упаковкой.

—decompress
—uncompress
-d
Распаковка.

Заставляет производить упаковку и распаковку, даже если файл имеет множество ссылок, соответствующий файл уже существует, или запакованные данные прочитаны с терминала или записаны на терминал. Если входные данные записаны в формате, нераспознаваемом ‘gzip’, и если также была задана опция ‘—stdout’, то ‘gzip’ копирует входные данные в стандартный вывод без изменений: ‘zcat’ ведет себя как ‘cat’. Если ‘-f’ не задано и запуск произведен не в фоновом режиме, то ‘gzip’ выводит сообщение для того, чтобы проверить был ли переписан существующий файл.

Печатает сообщение содержащие вспомогательную информацию после чего прекращает работу.

Для каждого запакованного файла выводит список состоящий из следующих полей:

comressed size: размер запакованного файла
uncompressed size: размер распакованного файла
ratio: отношение паковки (0.0% если не известно)
uncompressed_name: имя не распакованного файла

Размер распакованного файла, данный при использовани ‘-l’ введен для файлов в не ‘gzip’-формате, например таких как запакованные ‘.Z’ файлы. Чтобы получить размер такого распакованного файла, вы можете использоовать:

В сочетании с опцией —verbose следующие поля будут также отображены:

method: метод паковки (deflate,compress,lzh,pack)
crc: 32 битная CRC у распакованных данных
date&time: дата и время модификации распакованного файла

Отображает лицензию ‘gzip’ после чего заканчивает работу

В процессе паковки не сохраняет оригинальное имя файла и время создания (Оригинальное имя файла всегда сохраняется, если только имя не было укорочено). В процессе распаковки файла, запакованного с данной опцией, не восстанавливаются оригинальное имя файла (убирается только ‘gzip’ суффикс у имени запакованного файла) и время создания (копирует время создания файла-архива). В процессе распаковки эта опция отсутствует.

Читайте также:  Windows bluetooth aac codec

В процессе паковки всегда сохраняет оригинальное имя файла и время создания, работает по умолчанию. Во время распаковки восстанавливает оригинальное имя файла и время создания. Эта опция удобна для тех систем, в которых существует ограничение на длину имени файла или когда время создания файла было потеряно после переноса файла.

Запрещает все предупреждающие сообщения.

Рекурсивно обходит структуру каталогов. Если имя какого-нибудь файла, указанного в командной, строке представляет собой каталог, то ‘gzip’ спустится в этот директорий и запакует все файлы, которые там найдет (или распакует в случае ‘gunzip’).
—rsyncable
Для лучшего обслуживания rsync программы периодически сбрасывайте внутреннюю структуру сжатия потока данных. Это даст rsync программе преимущество схожести при синхронизации двух файлов сжатых с этим значением. Цена этому – сжатый файл обычно на 1 процент больше исходного.

Использует суффикс ‘SUF’ вместо ‘.gz’. Может быть задан любой суффикс, но суффиксов отличных от ‘.z’ или ‘.gz’ следует избегать, чтобы не возникало путаницы при переносе файлов в другую систему. Пустой суффикс заставляет ‘gunzip’ попробовать распаковать все
заданные файлы независимо от суффиксов, например:

Проверка.Проверяет целостность архивного файла.

Отображает имя и процентное отношение паковки для каждого файла.

Версия. Отображает номер версии и опции компиляции после чего завершает работу.

Регулируют скорость паковки, используя указанное число N, где ‘-1’ или ‘—fast’ отображают самый быстрый метод паковки (менее сжимающий), и ‘—best’ или ‘-9’, отображают наиболее медленный метод (оптимальное сжатие). По умолчанию уровень сжатия ‘-6’ (направлен на
высокое сжатие при издержках в скорости).

Использование для продвинутых

Несколько сжатых файлов можно объединить в один. В этом случае gunzip распакует все файлы одновременно. Если один из файлов окажется поврежденным, то другие файлы могут быть восстановлены после удаления поврежденного. Лучшее сжатие может быть также достигнуто, если все файлы будут распакованы и затем перепакованы все вместе одновременно.

В случае повреждения одного элемента файла «.gz», другие элементы все еще могут быть восстановлены (если поврежденный элемент удален). Однако вы можете улучшить сжатие, сжав сразу все элементы:
cat file1 file2 | gzip > foo.gz

Если вы хотите перепаковать объединённые файлы для достижения большего сжатия, выполните:
zcat old.gz | gzip > new.gz

Окружение

Переменная окружения GZIP может содержать набор опций по умолчанию для gzip. Эти опции обрабатываются первыми и могут быть переопределены явным их указанием в командной строке. Так как это может вызвать проблемы при использовании скриптов, эта функция может быть использована, где не вызовет большого вреда и gzip предупредит в этом случае. Эта функция будет удалена в последующих релизах gzip.

Использование ‘gzip’ с ленточными накопителями.

При упаковке данных на магнитную ленту необходимо дополнять вывод нулями для границы блока. Когда данные читаются, и блок для распаковки целиком передан, ‘gunzip’ определяет, не был ли прочитан лишний мусор после архивных данных, и выдает предупрежение при его наличии. Вы можете использовать ‘—quiet’ для отключения предупреждений.

Диагностика

Код возврата в нормальной ситуации равен 0. Если возникла ошибка, код возврата 1. Если вышло предупреждение, код возврата 2.

Предостережения

При записи сжатых данных на ленту обычно нужно дополнять архив нулями до конца блока. Когда архив считан с ленты и передан gunzip на распаковку, gunzip обнаруживает, что после сжатых данных идёт мусор, и по умолчанию выдаёт предупреждение. Для отключения предупреждений используйте ключ —quiet. Этот ключ может быть задан в переменной окружения GZIP, например:

Ошибки

Формат gzip представляет входной размер модуля 2^32, таким образом опция —list сообщает неправильные размеры не сжатых файлов и коэффициенты сжатия для не архивированных файлов размером 4 и более гигабайт. Чтобы обойти эту проблему, вы можете воспользоваться следующей командой, чтобы определить истинный размер большого распаковываемого файла:

В некоторых редких случаях ключ —best даёт худшее сжатие, чем метод по умолчанию (-6). Некоторые файлы, содержащие чрезвычайно избыточную информацию, compress сжимает лучше, чем gzip.

Copyright © 1998-1999, 2001-2002, 2006-2007, 2009-2018 Free Software Foundation, Inc.

Источник

Download

Download 7-Zip 19.00 (2019-02-21) for Windows :

Link Type Windows Description
Download .exe 32-bit x86 7-Zip for 32-bit Windows
Download .exe 64-bit x64 7-Zip for 64-bit Windows x64 (Intel 64 or AMD64)
Download .7z x86 / x64 7-Zip Extra: standalone console version, 7z DLL, Plugin for Far Manager
Download .7z Any 7-Zip Source code
Download .7z Any / x86 / x64 LZMA SDK: (C, C++, C#, Java)
Download .msi 32-bit x86 (alternative MSI installer) 7-Zip for 32-bit Windows
Download .msi 64-bit x64 (alternative MSI installer) 7-Zip for 64-bit Windows x64 (Intel 64 or AMD64)

Download 7-Zip 21.01 alpha (2021-03-09) :

Читайте также:  Kb3000850 windows server 2012 r2

Link Type System Description
Download .exe 64-bit Windows x64 7-Zip for Windows
Download .exe 32-bit Windows x86
Download .exe 64-bit Windows arm64
Download .tar.xz 64-bit Linux x86-64 7-Zip for Linux: console version
Download .tar.xz 64-bit Linux arm64

Download 7-Zip 16.04 (2016-10-04) for Windows :

Link Type Windows Description
Download .exe 32-bit x86 7-Zip for 32-bit Windows
Download .exe 64-bit x64 7-Zip for 64-bit Windows x64 (Intel 64 or AMD64)
Download .7z x86 / x64 7-Zip Extra: standalone console version, 7z DLL, Plugin for Far Manager
Download .7z Any 7-Zip Source code
Download .7z Any / x86 / x64 LZMA SDK: (C, C++, C#, Java)
Download .msi 32-bit x86 (alternative MSI installer) 7-Zip for 32-bit Windows
Download .msi 64-bit x64 (alternative MSI installer) 7-Zip for 64-bit Windows x64 (Intel 64 or AMD64)

Download 7-Zip 9.20 (2010-11-18) for Windows :

Link Type Windows Description
Download .exe 32-bit x86 7-Zip for 32-bit Windows
Download .msi
Download .msi 64-bit x64 7-Zip for 64-bit Windows x64 (Intel 64 or AMD64)
Download .msi IA-64 7-Zip for Windows IA-64 (Itanium)
Download .exe ARM-WinCE 7-Zip for Windows Mobile / Windows CE (ARM)
Download .zip 32-bit 7-Zip Command Line Version
Download .tar.bz2 Any 7-Zip Source code
Download .7z 32-bit 7-Zip Extra: 7z Library, SFXs for installers, Plugin for Fare Manager
Download .tar.bz2 Any LZMA SDK (C, C++, C#, Java)

You can download any versions of 7-Zip (including latest beta versions) from SourceForge:

Download p7zip for Linux (Posix) (x86 binaries and source code) :

p7zip is the command line version of 7-Zip for Linux / Unix, made by an independent developer.

Some unofficial p7zip packages for Linux and other systems:

Copyright (C) 2021 Igor Pavlov. The site is hosted at Digital Ocean

Источник

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

Некоторое время назад мы проводили тестирование консольных архиваторов, которое показало что наиболее оптимальным является использование архиваторов на основе алгоритма Deflate, к которым относятся ZIP и gzip. Они обеспечивают высокую скорость архивации при неплохой степени сжатия. Их противоположностью являются использующие алгоритм LZMA продукты, самый известный из которых 7Zip, для них характерна отличная степень сжатия, но за это приходится платить низкой скоростью работы.

Постоянно растущие объемы данных не позволяют рассматривать LZMA, как эффективный алгоритм, делая его нишевым решением, когда на первый план выходит именно степень сжатия, а время создания и распаковки архивов не имеют значения. Поэтому при разработке Zstandard была поставлена цель добиться степени сжатия сравнимой с Deflate при более высокой скорости работы. Разработкой занимается Ян Колле (фр. Yann Collet) при поддержке Facebook и ему удалось достигнуть действительно отличных результатов. При использовании стандартной степени сжатия Zstandard сжимает лучше и быстрее Deflate, а на высоких степенях может тягаться с LZMA, но распаковка таких архивов происходит практически также быстро, как и архивов с низкой степенью компрессии.

Эта особенность обусловила переход на Zstandard для сжатия пакетов ведущими дистрибутивами, такими как Ubuntu, Fedora, Arc. Он применяется для сжатия в файловых системах btrfs и OpenZFS, в СУБД MySQL, PostgreSQL, MongoDB, Tarantool. С полным списком применяющих Zstandard проектов можно ознакомиться здесь: facebook.github.io/zstd. Все это заставляет присмотреться к новому алгоритму достаточно внимательно, поэтому мы провели собственное исследование эффективности Zstandard с которым и хотим вас ознакомить.

Тестирование эффективности Zstandard

Результат нас очень сильно удивил: zstd сжал 10,8 ГБ за рекордные 35 секунд, за ним следует gzip с результатом в 2 мин 15 секунд, а замыкает список 7zip, которому потребовалось более получаса.

А теперь сделаем несложные вычисления и подумаем. Zstandard распаковал и записал на диск 10,8 ГБ за 32 секунды, скорость копирования при этом составила около 360 МБ/с, что составляет практически верхнюю планку для нашего массива RAID 10 на котором расположена данная виртуальная машина. Может ли производительность дисковой подсистемы оказаться узким местом для архиватора? Вполне, причем не только при распаковке, но и при сжатии, так как данные с диска нужно прочитать, а с учетом результатов zstd мы получаем примерно такую же скорость обмена данными, близкую к физическим ограничениям подсистемы. Поэтому мы подключили к виртуальной машине еще один диск, расположенный на производительном NVMe SSD ADATA XPG SX8200 Pro и повторили тесты на нем.

Если классические алгоритмы не получили никакой выгоды от смены носителя, то для Zstandard эффект был получен незамедлительно, время сжатия дампа уменьшилось с 35 до 22 секунд, а это около 37%, что очень и очень неплохо.

С распаковкой картина аналогичная: Deflate и LZMA снова никак не отреагировали на смену носителя, а zstd обновил результаты, распаковав архив за 19 секунд и уверенно обозначил лидерство.

Даже столь небольшое тестирование дает понять, что перед нами очень эффективный алгоритм сжатия нового поколения, а стоящая за его разработкой компания Facebook, как раз работающая с большими объемами данных, обещает хорошие перспективы для дальнейшего развития.

Читайте также:  Windows server 2019 загрузить

Как начать пользоваться Zstandard

Следующий вопрос, который возникнет у наших читателей, как получить и начать использовать Zstandard? Для пользователей Linux все очень просто, zstd входит в репозитории и установить его можно простой командой (для DEB-based дистрибутивов):

Для получения краткой справки наберите:

а для ознакомления со всеми возможностями программы воспользуйтесь полной справкой:

Сжать файл можно командой:

После чего будет создан архив с именем filename.zst, если требуется указать иное имя файла архива воспользуйтесь дополнительным ключом:

Для распаковки воспользуйтесь:

Для сжатия директорий используйте zstd совместно с tar:

Для распаковки такого архива выполните:

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Или подпишись на наш Телеграм-канал:

Источник

Архивирование файлов в Linux

В наши дни мы сталкиваемся с файлами архивов очень часто и на всех платформах: Windows, Mac или Linux. Это могут быть программы, резервные копии систем или баз данных или просто архив файлов. Нам также часто приходится создавать свои архивы в Linux, чтобы передать несколько файлов друзьям или загрузить на файлообменник. В виде архивов распространяются пакеты программ, исходные коды, а также много других файлов, распространяемых на просторах интернета. Научиться выполнять архивирование файлов в Linux через терминал очень важно, возможно это вам понадобиться, когда не будет доступа к графическому интерфейсу, или просто со временем в терминале станет более приятно работать.

Архивирование в Linux

Самой популярной для Linux утилитой для архивации есть tar. Она используется почти везде, для архивации исходников, упаковки пакетов. Для сжатия используются другие утилиты, в зависимости от алгоритма сжатия, например, zip, bz, xz, lzma и т д. Сначала выполняется архивация, затем сжатие, отдельными программами. Автоматический запуск некоторых утилит сжатия для только что созданного архива поддерживается в tar и других подобных программах с помощью специальных опций.

Также полезной возможностью архивации есть шифрование. Но теперь давайте рассмотрим какие существуют утилиты, с помощью которых выполняется архивирование файлов linux и как ими пользоваться.

$ tar опции f файл_для_записи /папка_файлами_для_архива

А теперь разберем основные опции:

Теперь давайте рассмотрим архивирование файлов в Linux. Чтобы создать архив используйте такую команду:

А чтобы распаковать архив tar linux:

Например, рассмотрим как заархивировать папку в Linux:

Хотя можно поступить по-другому, тот же архив мы получим если сначала создать обычный архив с помощью tar, а потом сжать его утилитой для сжатия, только здесь мы получаем больше контроля над процессом сжатия:

Также можно убрать сжатие:

Утилиты сжатия мы рассмотрим ниже.

Чтобы добавить файл в архив используйте:

Для извлечения одного файла синтаксис тот же:

Можно извлечь несколько файлов по шаблону соответствия с помощью параметра wildcard, например, извлечем все php файлы:

Стандартную утилиту рассмотрели, теперь кратко рассмотрим ее альтернативы. Их не так много, и большинство из них уже устаревшие.

Shar позволяет создавать самораспаковывающиеся архивы. По сути, это скрипт оболочки, и для распаковки ему необходима оболочка Bash или другая совместимая с Bourne Shell. У Shar есть несколько преимуществ, но также он потенциально небезопасный, так как архив представляет собой исполняемый файл.

Примеры использования shar для того чтобы заархивировать папку linux:

Создаем shar архив:

shar file_name.extension > filename.shar

Распаковываем shar архив:

Теперь рассмотрим примеры использования. Создадим статическую библиотеку libmath.a из объектных файлов substraction.o и division.o:

ar cr libmath.a substraction.o division.o

Теперь извлечем файлы из архива:

Таким образом, можно распаковать любую статическую библиотеку.

Пример использования. Создаем cpio архив:

file1.o file2.o file3.o

Архивирование папки linux выполняется также само.

Сжатие архивов в Linux

Как создать архив в linux рассмотрели. Теперь давайте поговорим о сжатии. Как я говорил, для сжатия используются специальные утилиты. Рассмотрим кратко несколько из них

$ gzip опции файл

$ gunzip опции файл

Теперь разберем опции:

Примеры использования вы уже видели в описании утилиты tar. Например, выполним сжатие файла:

А теперь распакуем:

Но чтобы сжать папку в Linux вам придется сначала заархивировать ее с помощью tar, а уже потом сжать файл архива с помощью gzip.

Описывать опции bzip2 я не буду, они аналогичны gzip. Чтобы создать архив в Linux используйте:

В текущем каталоге будет создан файл file.bz2

Новый и высокоэффективный алгоритм сжатия. Синтаксис и опции тоже похожи на Gzip. Для распаковки используйте unlzma.

Еще один высокоэффективный алгоритм сжатия. Обратно совместимый с Lzma. Параметры вызова тоже похожи на Gzip.

Кроссплатформенная утилита для создания сжатых архивов формата zip. Совместимая с Windows реализациями этого алгоритма. Zip архивы очень часто используются для обмена файлами в интернете. С помощью этой утилиты можно сжимать как файлы, так и сжать папку linux.

$ zip опции файлы

$ unzip опции архив

Чтобы создать Zip архив в Linux используйте:

Как видите архивирование zip в Linux не сильно отличается от других форматов.

Выводы

Источник

Поделиться с друзьями
Советы экспертов и специалистов
Adblock
detector