Linux compress命令是一个相当古老的 unix 档案压缩指令,压缩后的档案会加上一个 .Z 延伸档名以区别未压缩的档案,压缩后的档案可以以 uncompress 解压。若要将数个档案压成一个压缩档,必须先将档案 tar 起来再压缩。由于 gzip 可以产生更理想的压缩比例,一般人多已改用 gzip 为档案压缩工具。
语法
compress [-dfvcV] [-b maxbits] [file ...]
参数:
- c 输出结果至标准输出设备(一般指荧幕)
- f 强迫写入档案,若目的档已经存在,则会被覆盖 (force)
- v 将程序执行的讯息印在荧幕上 (verbose)
- b 设定共同字串数的上限,以位元计算,可以设定的值为 9 至 16 bits 。由于值越大,能使用的共同字串就 越多,压缩比例就越大,所以一般使用预设值 16 bits (bits)
- d 将压缩档解压缩
- V 列出版本讯息
- 范例:
- 将 source.dat 压缩成 source.dat.Z ,若 source.dat.Z 已经存在,内容则会被压缩档覆盖。
- compress -f source.dat
- 将 source.dat 压缩成 source.dat.Z ,并列印出压缩比例。
- -v 与 -f 可以一起使用
- compress -vf source.dat
- 将压缩后的资料输出后再导入 target.dat.Z 可以改变压缩档名。
- compress -c source.dat > target.dat.Z
- -b 的值越大,压缩比例就越大,范围是 9-16 ,预设值是 16 。
- compress -b 12 source.dat
- 将 source.dat.Z 解压成 source.dat ,若档案已经存在,使用者按 y 以确定覆盖档案,若使用 -df 程序则会自动覆盖档案。由于系统会自动加入 .Z 为延伸档名,所以 source.dat 会自动当作 source.dat.Z 处理。
- compress -d source.dat
- compress -d source.dat.Z
压缩文件
[[email protected] ~]# compress abc.h [[email protected] ~]# ls abc.h.Z
解压文件
[[email protected] ~]# compress -d abc.h.Z [[email protected] ~]# ls abc.h.
按指定压缩比例进行压缩
[[email protected] ~]# compress -b 7 abc.h
强制压缩文件夹
[[email protected] ~]# compress -rf /home/abc/