Tôi cần nén một thư mục với khoảng 350.000 tệp khá nhỏ với tổng số khoảng 100 GB. Tôi đang sử dụng OSX và hiện đang sử dụng công cụ "Nén" tiêu chuẩn để chuyển đổi thư mục này thành tệp .zip. Có cách nào nhanh hơn để làm điều này?
Tôi cần nén một thư mục với khoảng 350.000 tệp khá nhỏ với tổng số khoảng 100 GB. Tôi đang sử dụng OSX và hiện đang sử dụng công cụ "Nén" tiêu chuẩn để chuyển đổi thư mục này thành tệp .zip. Có cách nào nhanh hơn để làm điều này?
Câu trả lời:
Đối với các thư mục tôi sẽ sử dụng một tar
đường ống bzip2
với nén tối đa.
một cách đơn giản để đi là
tar cfj archive.tar.bz2 dir-to-be-archive /
Điều này hoạt động rất tốt nếu bạn không có ý định tìm nạp các tập tin nhỏ ra khỏi kho lưu trữ
và chỉ dự định trích xuất toàn bộ mọi thứ bất cứ khi nào / bất cứ nơi nào cần thiết.
Tuy nhiên, nếu bạn làm muốn có được một tập nhỏ các tập tin ra, nó không phải là quá xấu.
Tôi thích gọi các tài liệu lưu trữ như vậy filename.tar.bz2
và trích xuất với xfj
tùy chọn ''.
Ống nén tối đa trông như thế này,
tar cf - dir-to-be-archive / | bzip2 -9 -> archive.tar.bz2 # ^ tarball ống từ đây để zip-in ^ vào tệp lưu trữ.
Lưu ý: bzip2
phương pháp '' và nén nhiều hơn có xu hướng chậm hơn so với thông thường gzip
từ ' tar cfz
'.
Nếu bạn có một mạng nhanh và kho lưu trữ sẽ được đặt trên một máy khác,
bạn có thể tăng tốc với một đường ống trên mạng (sử dụng hiệu quả hai máy với nhau).
tar cf - dir / | người dùng ssh @ server "bzip2 -9 -> /target-path/archive.tar.bz2" # ^ tarball ống qua mạng để nén ^ và lưu trữ trên máy từ xa.
Một số tài liệu tham khảo,
Dennis
Anh chàng này đã làm một số nghiên cứu về điều đó. Dường như .zip sẽ nén các tệp lớn hơn nhanh hơn. Tuy nhiên, nó mang lại một trong những kích thước nén lớn nhất. Có vẻ như anh ta đang sử dụng các tiện ích Windows, nhưng tôi cá là tiện ích của OSX gần như được tối ưu hóa.
Đây là một trang web tuyệt vời nơi nhiều tiện ích nén đã được điểm chuẩn cho tốc độ trên nhiều tệp. Có nhiều thử nghiệm khác trên trang web mà bạn có thể xem xét để xác định tiện ích tốt nhất cho bạn.
Phần lớn tốc độ phải làm với chương trình bạn sử dụng. Tôi đã sử dụng tiện ích 7zip cho Windows và tôi thấy rằng nó rất nhanh. Tuy nhiên, việc nén nhiều tệp mất nhiều thời gian không có vấn đề gì vì vậy tôi sẽ để nó qua đêm. Hoặc bạn chỉ có thể tar toàn bộ mọi thứ và không nén nó ... Cá nhân tôi ghét việc giải nén các tài liệu lưu trữ lớn vì vậy tôi sẽ cẩn thận nếu đó là những gì bạn muốn làm.
Tôi thích sử dụng
tar cf - dir-to-be-archived/ | bzip2 -9 - > archive.tar.bz2
để di chuyển tệp đến máy chủ khác và chuyển đổi chúng cùng một lúc