Архиватор на базе встроенной библиотеки Golang
Данная программа реализована в целях изучения языка Golang.
- Конкурентное сжатие и распаковка с возможностью параллелизма
- Несколько алгоритмов для сжатия
- Поддержка внешних словарей для совместимых алгритмов
- Просмотр содержимого архива в виде списка или детального отчета
- Проверка целостности данных в архиве и распаковка с учетом проверки
- Поддержка символических ссылок
Сжатие: archiver [Флаги] <путь до архива> <список директории, файлов для сжатия>
Распаковка: archiver [-o <путь к директории для распаковки>] <путь до архива>
Просмотр: archiver [-l | -s] <путь до архива>
Флаги:
-L int
Уровень сжатия от -2 до 9 (Не применяется для LZW)
-2 -- Использовать только сжатие по Хаффману
-1 -- Уровень сжатия по умолчанию (6)
0 -- Без сжатия
1-9 -- Произвольная степень сжатия (default -1)
-V Печать номера версии и выход
-c string
Тип компрессора: GZip, LZW, ZLib, Flate (default "gzip")
-dict string
Путь к файлу словаря
Файл словаря представляет собой набор часто встречающихся
фрагментов данных, которые можно использовать для улучшения
сжатия. При декомпрессии необходимо использовать тот же
словарь для восстановления данных.
Поддерживаетя только компрессорами Zlib и Flate.
-f Автоматически заменять файлы при распаковке без подтверждения
-help
Показать эту помощь
-integ
Проверка целостности данных в архиве
-l Печать списка файлов и выход
-log
Печатать логи
-mstat
Печать статистики использования ОЗУ после выполнения
-o string
Путь к директории для распаковки
-s Печать информации о сжатии и выход (игнорирует -l)
-v Печатать обработанные файлы
-xinteg
Распаковка с учетом проверки целостности данных в архиве