我有一个包含大约 50GB 图像和视频文件(约 35k 文件)的文件夹,我想将其压缩为单个文件以便与数据库一起存储。是否有任何压缩选项(或带有选项的实用程序)可以真正利用这些小文件中的复制数据并提供一些合理的压缩?标准“tar czf”等似乎没有考虑足够大的数据块,最终返回的文件几乎与未压缩目录的大小相同。
(是的,我知道你通常无法压缩一个大文件,我正在寻找一种可以检测模式的东西穿过文件。)
(注意:最终目标是将此功能添加到我正在为照片组织编写的应用程序中,这只是一个测试用例。回复“仅使用 tar cjf”并不是很有帮助。:P)
答案1
尝试这个,
gzip=-9 tar -cvzf videos_backup.tgz </path/to/videos>
这可能需要一些时间来压缩目录中的文件。
答案2
我会用这个:
tar cvf images.tar file1 file2 ...
gzip -9 images.tar
您将所有文件合并为一个,然后然后压缩它;然后,所有常见部件都在一个文件中。其效果如何取决于您选择的压缩程序(以及您提供的选项);尝试不同的选项和程序(例如gzip
,xz
甚至可能bzip2
,尽管我可能希望xz
获胜)。请注意,某些程序/选项可能会非常慢,如果您的内存有限,则可能会出现问题。