8.9 用gzip获得最好的压缩效果

-[0-9]

zip一样,用gzip压缩时也可以调整它使用的压缩率。gzip命令使用09来表示压缩率的度量标准:0表示“一点也不压缩”(和tar相似,稍后会看到),1表示“尽快完成压缩,而不需要压缩太多”,9表示“尽可能压缩文件,不介意会为此等待较长的时间”。默认值是6,但现在的计算机速度已经足够快,一直使用9表示的压缩率也不会有什么问题。

  1. $ ls -l
  2. -rw-r--r-- scott scott 1236574 moby-dick.txt
  3. $ gzip -c -1 moby-dick.txt > moby-dick.txt.gz
  4. $ ls -l
  5. -rw-r--r-- scott scott 1236574 moby-dick.txt
  6. -rw-r--r-- scott scott 571005 moby-dick.txt.gz
  7. $ gzip -c -9 moby-dick.txt > moby-dick.txt.gz
  8. $ ls -l
  9. -rw-r--r-- scott scott 1236574 moby-dick.txt
  10. -rw-r--r-- scott scott 487585 moby-dick.txt.gz

记得要使用-c选项,并将结果通过管道输出到实际的.gz文件,如8.7节中介绍的那样。

说明 如果想要更灵活些,可以在.bashrc文件中为gzip命令定义一个别名,如下所示:

  1. alias gzip= ' gzip -9 '

这样一来,就能总是使用-9的压缩率,而不用再刻意考虑它了。