Muszę skompresować katalog zawierający około 350 000 dość małych plików, które łącznie wynoszą około 100 GB. Korzystam z OSX i obecnie używam standardowego narzędzia „Kompresuj”, które konwertuje ten katalog do pliku .zip. Czy jest na to szybszy sposób?
14
Odpowiedzi:
W przypadku katalogów
tar
użyłbym potokowej wersjibzip2
z maksymalną kompresją.prosta droga to
Działa to świetnie, jeśli nie zamierzasz pobierać małych zestawów plików z archiwum
i planujesz po prostu wyodrębnić całą zawartość, ilekroć jest to wymagane.
Jednak, jeśli zrobić chcą dostać mały zestaw plików out, to nie jest tak źle.
Wolę wywoływać takie archiwa
filename.tar.bz2
i rozpakowywać je za pomocąxfj
opcji „ ”.Rura o maksymalnej kompresji wygląda tak,
Uwaga:
bzip2
metoda „ ” i większa kompresja są zwykle wolniejsze niż zwykłegzip
z „tar cfz
”.Jeśli masz szybką sieć, a archiwum zostanie umieszczone na innym komputerze,
możesz przyspieszyć za pomocą potoku w całej sieci (efektywnie używając dwóch komputerów razem).
Niektóre referencje,
Dennis
źródło
Ten facet przeprowadził kilka badań na ten temat. Wygląda na to, że .zip szybciej kompresuje większe pliki. Daje to jednak jeden z największych rozmiarów kompresji. Wygląda również na to, że korzystał z narzędzi systemu Windows, ale założę się, że narzędzie OSX jest prawie tak zoptymalizowane.
Oto doskonała strona internetowa, na której liczne narzędzia do kompresji zostały przetestowane pod kątem prędkości w wielu plikach. Istnieje wiele innych testów na tej stronie, na które możesz spojrzeć, aby określić najlepsze narzędzie dla Ciebie.
Duża prędkość ma związek z używanym programem. Użyłem narzędzia 7zip dla Windows i uważam, że jest to bardzo szybkie. Jednak kompresowanie wielu plików zajmuje dużo czasu, bez względu na wszystko, więc zostawiłbym to na noc. Albo możesz po prostu zepsuć całość i nie skompresować jej ... Osobiście nie znoszę rozpakowywania dużych archiwów, więc byłbym ostrożny, jeśli to właśnie chcesz zrobić.
źródło
Wolę używać
tar cf - dir-to-be-archived/ | bzip2 -9 - > archive.tar.bz2
do przenoszenia plików na inny serwer i jednoczesnego ich zakrycia
źródło