本文已参与「新人创作礼」活动,一起开启掘金创作之路。
一、命令详解
1.1【功能说明】
gzip命令用于将一个大的文件通过压缩算法(Lempel-Ziv coding)变成一个小的文件。gzip命令不能直接压缩目录,因此目录需要先用tar包打成一个文件,然后提案人包再调用gzip进行压缩。
1.2【语法格式】
[root@7bfe451a2fe1 ~]# gzip --help
Usage: gzip [OPTION]... [FILE]...
Compress or uncompress FILEs (by default, compress FILES in-place).
1.3【选项说明】
选项与参数
-d解开压缩文件-v显示指令执行的过程-l列出压缩文件的内容信息-c将内容输出到标准输出(屏幕),不改变原始文件,可通过数据流重导向来处理-r对目录下的所有文件递归进行压缩操作-#指定压缩率,#为数字,范围为1-9,默认为6,值越大压缩率越高-t测试,检查压缩文件是否完整
二、使用范例
2.1 把目录下的每个文件都压缩成单独的.gz文件
# 准备数据
mkdir -p /var/www/html
touch /var/www/html/{1..10}.html
# 压缩
cd /var/www/html
ls -l
gzip *.html
ls -l
说明
- 后缀.gz是自动添加的
- gzip命令的缺点是压缩后源文件不见了,它的特性是压缩、解压都会自动删除源文件
2.2 查看压缩文件的信息
gzip -l *.gz
说明:
- 因为源文件都是空文件,所以压缩率都为0.0%
2.3 解压缩保留源文件
# 准备一个文件
cp /etc/services .
ll -h
# 压缩
gzip -c services > services.gz
ll -h
gzip -l services.gz
# 解压
gzip -dc services.gz > services2
ll -h
# 对比源文件和解压后的文件是有差别
diff services services2
三、扩展知识
3.1 压缩保留源文件的另一种方法
上面使用重定向解决了保留源文件的问题,但是使用起来不太方便,gzip套件饮食许多可以 在原地 处理压缩文件的实用程序。zcat、zgrep、zless、zdiff等实用程序的作用分别与cat、grep、less和diff相同,但是它们操作的是压缩文件。
zcat services.gz > services
四、命令总结
- 2022/12/17 项目上线迫在眉捷,明天继续上班