Linux系统常见的压缩命令

1. 压缩文件的用途与技术

压缩技术1:“丢”出空位
例如:

压缩技术2:统计重复数据
例如:

2. Linux系统常见的压缩命令

(压缩比:gzip < bzip2 < xz)

2.1 压缩命令:gzip | 压缩文件的读取命令:zcat / zmore / zless / zgrep

[dmtsai@study ~] gzip [-cdtv] 文件名
[dmtsai@study ~] zcat 文件名.gz
选项与参数:
-c : 将压缩的数据输出到屏幕上,可通过数据流重定向来处理
-d : 解压缩的参数
-t : 可以用来检验一个压缩文件的一致性,看文件有无错误
-v : 可显示出原文件/压缩文件的压缩比等信息

范例1 :
找出【/etc】下(不含子目录)容量最大的文件,并将它复制到【/tmp】然后以【gzip】压缩
(默认状态下原本的文件会被压缩成【.gz】后缀的文件,源文件就不再存在了,使用【gzip】压缩的文件在Windows中可以被 WinRAR 或 7zip 这些软件解压缩)

[dmtsai@study ~] ls -ldSr /etc/* #具体查询手册 man ls
......
[dmtsai@study ~] cd /tmp
[dmtsai@study ~] cp /etc/services . #将/etc/services复制到本目录【.】
[dmtsai@study ~] gizp -v services #压缩services并显示压缩比【-v】
services:   79.7% -- replaced with services.gz
[dmtsai@study ~] ll /etc/services  /tmp/services*

范例2:
由于services是文本文件,将范例1的压缩文件的内容读出来

[dmtsai@study ~] zcat services.gz

范例3:
将范例1的文件解压缩

[dmtsai@study ~] gzip -d services.gz #【-d】解压缩,会将原【.gz】文件删除,恢复到services文件

范例4:
将范例3解开的services用最佳的压缩比进行压缩,并保留原本的文件

[dmtsai@study ~] gzip -9 -c services > services.gz 
#压缩等级为【-9】
#【-c】可以将原本要转成压缩文件的数据内容,将它变成文字类型从屏幕输出
#【>】将原本应该由屏幕输出的数据,转而输出到文件而不是屏幕,所以能够建立出压缩文件

2.2 压缩命令:bzip2 | 压缩文件的读取命令:bzat / bzmore / bzless / bzgrep

【bzip2】能比【gzip】提供更佳的压缩比

[dmtsai@study ~] bzip2 [-cdkzv] 文件名
[dmtsai@study ~] bzcat 文件名.bz2
选项与参数:
-c : 将压缩过程产生的数据输出到屏幕上
-d : 解压缩
-k : 保留原始文件,而不会删除原始的文件
-z : 压缩(默认值,可不加)
-v : 可显示出原文件/压缩文件的压缩比等信息

范例1:
将刚刚gzip范例中的【/tmp/services】以bzip2压缩

[dmtsai@study ~] bizp2 -v services #显示压缩比
...
[dmtsai@study ~] ls -l services*
...

范例2:
将范例1中的文件内容读出来

[dmtsai@study ~] bzcat services.bz2

范例3:
将范例1的文件解压缩

[dmtsai@study ~] bzip2 -d services.bz2

范例4:
将范例3解开的services用最佳的压缩比压缩,并保留原文件

[dmtsai@study ~] bzip2 -9 -c services > services.bz2 
#压缩等级为【-9】
#【-c】可以将原本要转成压缩文件的数据内容,将它变成文字类型从屏幕输出
#【>】将原本应该由屏幕输出的数据,转而输出到文件而不是屏幕,所以能够建立出压缩文件

2.3 压缩命令:xz | 压缩文件的读取命令:xzcat / xzmore / xzless / xzgrep

[dmtsai@study ~] xz [-dtlkc] 文件名
[dmtsai@study ~] xcat 文件名.xz
选项与参数:
-d : 解压缩
-t : 测试压缩文件的完整性,看是否有错误
-l : 列出压缩文件的相关信息
-k : 保留原文件不删除
-c : 将压缩过程产生的数据输出到屏幕上

范例1:
将【/tmp/services】通过【xz】来压缩

[dmtsai@study ~] xz -v services #【-v】: 可显示出原文件/压缩文件的压缩比等信息

范例2:
列出【/tmp/services】压缩后文件的信息

[dmtsai@study ~] xz -l services.xz #【-l】: 列出压缩文件的相关信息
...
[dmtsai@study ~] xzcat services.xz

范例3:
将【/tmp/services】解压缩

[dmtsai@study ~] xz -d services.xz #【-d】: 解压缩

范例4:

[dmtsai@study ~] xz -k services #【-k】 : 保留原文件不删除

猜你喜欢

转载自blog.csdn.net/weixin_48524215/article/details/113767468