这里如何设置压缩级别?
nice -n 19 tar -czf $out $in
答案1
nice
不会对压缩级别做任何事情。它只会影响内核对进程的调度。下面的所有命令都可以加上前缀,以nice
在不同的“nice”级别运行它们,它不会影响压缩级别,只会影响执行操作所需的时间(如果系统负载较重)。
如果您使用的是 GNU ,则可以使用以下选项tar
设置压缩程序:-I
--use-compress-program
$ tar -I "gzip --best" -c -f archive.tar.gz dir
或者
$ tar --use-compress-program="gzip --best" -c -f archive.tar.gz dir
-z
请注意,如果显式设置压缩程序,则不应使用该选项。
GNUtar
手册规定,所使用的程序必须支持-d
解压缩选项(如果您使用这些选项来解压缩压缩档案),事实gzip
确实如此。
据我所知,对于 BSD,tar
不可能以类似的方式指定压缩级别。
实现此目的的另一种方法显然是创建一个未压缩的存档,然后按照需要的方式对其进行压缩:
$ tar -c -f archive.tar dir
$ gzip --best archive.tar
或者
$ tar -c dir | gzip --best -o archive.tar.gz
然而其他方法是将环境变量设置GZIP
为您想要传递给的标志gzip
:
$ export GZIP='--best'
$ tar -c -z -f archive.tar.gz dir
除了使用-I
和之外--use-compress-program
,最后几个替代方案都适用于 GNU 和 BSD tar
。