引子
gzip是Linux系统中最常用也是高效的压缩压缩命令。早期Linux系统中主要使用compress命令压缩,得到后缀为“.Z”的压缩文件,但是后来gzip被发明出来替代了compress成为主流的压缩命令。gzip有更好的压缩比,而且能够解压“.Z”文件。后来bzip2又被发明出来,且具有比gzip更高的压缩比。不过,个人认为bzip2并不如gzip好用,因为bzip2的压缩比提升并不是很显著,但是压缩用时和CPU占用率比gzip要大很多,所以个人认为得不偿失,毕竟现在时间效率要比空间效率更宝贵。
格式:
gzip [-OPTION] [FILE or DIR]
参数:
-c:将压缩后的文件输出到标准输出。如果不想更改原始的文件,请使用此选项。
-d:解压缩
-t:检查压缩文件有无错误
-v:显示原文件名和压缩比到屏幕
-#:压缩等级,1~9级,-1最快但压缩比最低,-9最慢但压缩比最高,默认为-6
-l: 列出压缩文件的信息,并不解压.
-r:递归压缩,压缩目录下的所有文件和子目录文件
用例:
1. 直接压缩或者解压。这样原文件会被删除。
代码语言:javascript复制gzip -9 test.txt #以最高压缩等级压缩生成test.txt.gz,同时删除test.txt
gzip -d test.txt.gz #解压生成test.txt,同时删除test.txt.gz
2. 如果想压缩或解压,并保留原文件,使用-c
代码语言:javascript复制gzip -1cv test.txt > test.txt.gz #以最低压缩等级生成test.txt.gz,同时保留test.txt,并显示压缩信息
gzip -dc test.txt.gz > test.txt #生成test.txt,同时保留test.txt.gz
3. 查看目录下所有压缩文件的信息
代码语言:javascript复制gzip -l *.gz
4. gzip经常与tar合用,注意:tar只是打包命令,相当于归档,并不做压缩
代码语言:javascript复制tar -zcvf dirname.tar.gz dirname #打包并压缩dirname目录, dirname被保留
tar -zxvf dianame.tar.gz #解压, dirname.tar.gz被保留
-z: 使用gzip压缩或解压
-c:创建一个归档
-v:显示进程
-f:指定文件名
-x:从归档中提取文件
-j:使用bzip2压缩或解压。所以要生成“.tar.bz2”的命令是:tar -jcvf dirname.tar.bz2 dirname