Как сжать сжатый файл в unix
Можно ли сжать уже сжатый файл?
Пример: данный сжатый файл, такой как file.zip
Можно ли будет сжать его в другой сжатый файл в UNIX, как это:
gzip file.zip
2 ответа
Почему это не должно быть возможно?
Да, вы можете сжать уже сжатый файл.
Результат будет варьироваться в зависимости от исходных файлов и используемых алгоритмов сжатия.
Например zip
сжимает каждый файл сам и помещает эти файлы в контейнер. Если сжатые файлы имеют большую избыточность, то возможно, что gzip
или же bzip2
может сжать .zip
подать еще дальше. Если в ваших файлах нет избыточности, возможно, целевой файл станет больше.
Во-первых, да, вы можете хранить один архив внутри другого файла архива. На этом окончательное "да" вашему вопросу заканчивается.
Может быть возможным дополнительно сжать сжатые данные, но вы не можете сделать это ни с одним из распространенных инструментов (ZIP, RAR, LHA, GZ, 7z и т. Д.). Вместо этого вам понадобится инструмент, специально разработанный для дальнейшего сжатия ваших сжатых данных.
Однако большинство людей, изучающих сжатие файлов, не обращают на это особого внимания, поскольку ищут способы заставить общие инструменты сжатия работать с различными распространенными форматами файлов, поэтому вряд ли вы найдете практичный инструмент для этого. Вместо этого вы должны взглянуть на параметры вашего инструмента сжатия и установить для него максимальное сжатие, которое он поддерживает, вместо этого, чтобы минимизировать размер ваших данных.
TL; DR
Нет, ты не можешь.