Мне нужно сжать каталог с примерно 350 000 довольно маленьких файлов общим объемом около 100 ГБ. Я использую OSX и в настоящее время использую стандартный инструмент «Compress», который преобразует этот каталог в ZIP-файл. Есть ли более быстрый способ сделать это?
14
Ответы:
Для каталогов я бы использовал
tar
каналbzip2
с максимальным сжатием.простой способ пойти,
Это прекрасно работает, если вы не собираетесь извлекать небольшие наборы файлов из архива
и просто планируете извлекать все это в любое время и в любом месте.
Тем не менее, если вы делаете хотите получить небольшой набор файлов из его не так уж плохо.
Я предпочитаю вызывать такие архивы
filename.tar.bz2
и извлекать сxfj
опцией ' '.Труба с максимальным сжатием выглядит так,
Примечание: метод '
bzip2
' и большее сжатие, как правило, медленнее, чем обычныеgzip
из 'tar cfz
'.Если у вас быстрая сеть и архив будет размещен на другом компьютере,
вы можете ускорить передачу по сети (эффективно используя две машины вместе).
Некоторые ссылки,
Dennis
источник
Этот парень провел некоторое исследование по этому вопросу. Похоже, что .zip сжимает большие файлы быстрее. Тем не менее, это дает один из самых больших размеров сжатия. Похоже, он использовал утилиты Windows, но держу пари, что утилита OSX почти так же оптимизирована.
Это отличный веб-сайт, на котором множество утилит сжатия были протестированы на скорость работы со многими файлами. На этом сайте есть много других тестов, которые вы можете посмотреть, чтобы определить лучшую для вас утилиту.
Большая часть скорости связана с программой, которую вы используете. Я использовал утилиту 7zip для Windows, и я считаю, что это очень быстро. Однако сжатие многих файлов занимает много времени, несмотря ни на что, поэтому я просто позволил бы этому работать в одночасье. Или вы можете просто распаковать все это, а не сжимать его ... Лично я ненавижу разархивировать большие архивы, поэтому буду осторожен, если вы захотите это сделать.
источник
Я предпочитаю использовать
tar cf - dir-to-be-archived/ | bzip2 -9 - > archive.tar.bz2
для перемещения файлов на другой сервер и одновременного их покрытия
источник