19.压缩工具gzip bzip2 xz

6月22日任务

6.1 压缩打包介绍

6.2 gzip压缩工具

6.3 bzip2压缩工具 

6.4 xz压缩工具

 

 

6.1 压缩打包介绍:

linux中常见的一些压缩文件

.zip .gz .bz2 .xz .tar .gz .tar .bz2 .tar.xz

建立一些文件的时候,要把文件的后缀名设置成该格式的后缀名

 

-----------------------------------------------------------------------------------------------------------------------------------------

 

6.2 gzip压缩工具:

gzip压缩有9个级别,gzip -1 可设置级别,一般默认就好(6级别)

压缩的级别越高越占CPU

不可压缩目录

 

gzip file 可直接压缩

gzip -d file 可解压缩

gunzip file 也可解压缩

 

gzip -c 1.txt > /tmp/1.txt.gz 可指定压缩到这个目录下,而且原文件不消失

gzip -d -c /tmp/1.txt.gz > /tmp/d6z/2.txt 可指定解压到这个目录下,而且源文件不消失,可改名字

 

对于压缩文件,可以用

file 来查看信息 例如file 1.txt.gz

zcat 可列出内容

 

 

 

实例:

我们先输出一个大的文件

find /etc -type f -name "*conf" -exec cat {} >> 1.txt \; 反复几次直至他变大

 

开始压缩

[root@aminglinux-01 d6z]# du -sh 1.txt

1.9M 1.txt 可看他当前为1.9M

[root@aminglinux-01 d6z]# wc -l 1.txt

48624 1.txt 48624行

[root@aminglinux-01 d6z]# gzip 1.txt 开始压缩

[root@aminglinux-01 d6z]# du -sh 1.txt 再次查看

du: 无法访问"1.txt": 没有那个文件或目录 发现没有那个文件,其实已经压缩后自动改名为后缀

[root@aminglinux-01 d6z]# ls

1.txt.gz 后缀自动加上.gz

[root@aminglinux-01 d6z]# du -sh 1.txt.gz

496K 1.txt.gz 可以看到以压缩成功

 

那再来解压

 

[root@aminglinux-01 d6z]# gzip -d 1.txt.gz 开始解压

[root@aminglinux-01 d6z]# ls 查看

1.txt 已自动更改回后缀名

[root@aminglinux-01 d6z]# du -sh 1.txt 看一下大小

1.9M 1.txt 和原先一样

[root@aminglinux-01 d6z]# wc -l 1.txt 再看一下行数

48624 1.txt 和原先一样

 

来指定压缩和解压

 

[root@aminglinux-01 d6z]# gzip -c 1.txt > /tmp/1.txt.gz 指定压缩位置

[root@aminglinux-01 d6z]# ls 看下源文件确有

1.txt

[root@aminglinux-01 d6z]# ls /tmp/1.txt.gz 看下压缩文件确有

/tmp/1.txt.gz 并且在指定目录下

[root@aminglinux-01 d6z]# gzip -d -c /tmp/1.txt.gz > /tmp/d6z/2.txt 指定解压文件到改目录下

[root@aminglinux-01 d6z]# ls 看一下,两个文件都在

1.txt 2.txt

[root@aminglinux-01 d6z]# wc -l *.txt 行数跟之前是一样的

48624 1.txt

48624 2.txt

97248 总用量

[root@aminglinux-01 d6z]# du -sh *.txt 大小也是一样的

1.9M 1.txt

1.9M 2.txt

 

---------------------------------------------------------------------------------------------------------------------------------------

 

6.3 bzip2压缩工具 :

 

bzip2 比gzip压缩的更狠一下

不支持压缩目录

bzip2默认压缩级别就是9,所以我们也不需要指定

 

bzip2 1.txt 可直接压缩

bzip2 -d 1.txt 可直接解压解压

bunzip2 1.txt 也可解压

 

bzip2 -c 1.txt > /tmp/1.txt.bz2 压缩到指定目录下,并保留原来的文件

bzip2 -d -c /tmp/1.txt.bz2 > 3.txt 指定解压目录,并保留原来的文件

 

bzcat 1.txt 可列出压缩文件的内容

 

 

实例:

 

压缩文件:

[root@aminglinux-01 tmp]# du -sh 1.txt 查看大小

1.9M 1.txt

[root@aminglinux-01 tmp]# wc -l 1.txt 查看行数

48624 1.txt

[root@aminglinux-01 tmp]# bzip2 1.txt 开始压缩

[root@aminglinux-01 tmp]# du -sh 1.txt.bz2 压缩后一样会自动修改后缀名

188K 1.txt.bz2 压缩的更狠

[root@aminglinux-01 tmp]# bzip2 -d 1.txt.bz2 开始解压

[root@aminglinux-01 tmp]# du -sh 1.txt 查看大小

1.9M 1.txt

[root@aminglinux-01 tmp]# wc -l 1.txt 查看行数

48624 1.txt

 

压缩和解压指定目录:

 

[root@aminglinux-01 tmp]# bzip2 -c /tmp/1.txt > /tmp/d6z/2.txt.bz2 指定压缩目录,并修改名字

[root@aminglinux-01 tmp]# du -sh !$ 查看大小

du -sh /tmp/d6z/2.txt.bz2

156K /tmp/d6z/2.txt.bz2

[root@aminglinux-01 tmp]# du -sh 1.txt 查看原始文件大小

1.4M 1.txt

[root@aminglinux-01 tmp]# wc -l 1.txt 查看原始文件行数

36468 1.txt

[root@aminglinux-01 tmp]# file !$ 查看要锁文件是否压缩成功

file /tmp/d6z/2.txt.bz2

/tmp/d6z/2.txt: bzip2 compressed data, block size = 900k 成功

[root@aminglinux-01 tmp]# bzip2 -d -c /tmp/d6z/2.txt.bz2 > /tmp/2.txt 指定解压目录

[root@aminglinux-01 tmp]# du -sh 2.txt 查看大小

1.4M 2.txt

[root@aminglinux-01 tmp]# wc -l 2.txt 查看行数

36468 2.txt

 

---------------------------------------------------------------------------------------------------------------------------------------

 

6.4 xz压缩工具:

 

xz比bzip2压缩的还要狠一下

同样支持1-9的压缩级别

不支持压缩目录

 

xz 1.txt 压缩文件

xz -d 解压文件

unxz 也可解压

xz -c 1.txt > /tmp/1.txt.xz 指定压缩目录,并保留原来的文件

xz -d -c /tmp/1.txt.xz > /tmp/d6z/1.txt 指定解压目录,并保留原来的文件

xzcat 可列出这个压缩文件

实例:

压缩

[root@aminglinux-01 d6z]# xz 2.txt.out

[root@aminglinux-01 d6z]# ls

2.txt.out.xz

[root@aminglinux-01 d6z]# du -sh 2.txt.out.xz

56K 2.txt.out.xz

[root@aminglinux-01 d6z]# xz -d 2.txt.out.xz

[root@aminglinux-01 d6z]# du -sh 2.txt.out

1.4M 2.txt.out

指定压缩和解压目录:

 

[root@aminglinux-01 d6z]# xz -c /tmp/2.txt > /tmp/d6z/2.txt.xz

[root@aminglinux-01 d6z]# ls !$

ls /tmp/d6z/2.txt.xz

/tmp/d6z/2.txt.xz

[root@aminglinux-01 d6z]# du -sh !$

du -sh /tmp/d6z/2.txt.xz

56K /tmp/d6z/2.txt.xz

[root@aminglinux-01 d6z]# xz -d -c /tmp/d6z/2.txt.xz > /tmp/3.txt

[root@aminglinux-01 d6z]# du -sh !$

du -sh /tmp/3.txt

1.4M /tmp/3.txt

 

转载于:https://my.oschina.net/u/3866149/blog/1834306

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值