我正在尝试使用tar
. 但是,有许多文件,例如CR2
(Canon RAW 2),JPG
以及一些其他已压缩的文件。
我已经看到tar
使用该--exclude
选项从存档本身中排除这些类型的文件,但这不是我想要做的。相反,我想包含这些已经压缩的文件,但跳过对它们的压缩,类似于rsync
's 的压缩--skip-compress
。
这可能吗,如果是,怎么做?
tar
本身没有这个功能,你只能过滤它,这样你就有两个独立的 tar 文件,一个保存压缩文件,另一个保存未压缩文件。这可以使用tar
您提到的排除选项来实现,或者通过使用find
.
如果您对替代方案持开放态度,则有dar
(磁盘存档)可以决定是否单独压缩每个文件(-Z, --exclude-compression <mask>
选项)。它还可以恢复存档中的单个文件,而无需解压缩整个文件(直到找到文件),例如tar
.
大多数人只是完全忽略了这个问题,并且无论如何都压缩了所有文件。使用快速压缩算法,它没有太大区别。强压缩需要更多数量级的 CPU 时间,而尺寸减少可以忽略不计(ymmv,很大程度上取决于数据)。如果它是一个会被下载很多次的档案,强压缩可能是值得的,否则可能不值得。