linux常见的压缩命令

㈠ 压缩技术的原理:

--原理一

由于1byte=8bit,所以每个byte当中会有8个内存单元,而每个内存单元可以是0,1。当我们记录数字1时,有7个bit应该是“空的”。不过,为了满足目前我们的OS数据的访问,

所以就会将数据转为byte的形态来记录。有些压缩技术就是把这部分空间给“揪”出来,让文件占用的空间变小。

--原理二

将重复的数据进行统计记录,譬如,你的数据有100个1,那么压缩技术会记录“100个1”而不是真的有100个1的位存在。

 ㈡ 各种压缩命令简介

 Ⅰ gzip

语法:

gzip [-dv] 文件名

参数:

-d:解压缩的参数

-v:显示压缩比

例子:

[plain]

[root@localhost Desktop]# gzip show_space.sql

[root@localhost Desktop]# gzip -d show_space.sql.gz

 Ⅱ bzip2

语法:

bzip2 [-dkzv] 文件名

参数:

-d:解压缩参数

-k:保留源文件

-z:压缩参数

-v:显示压缩比

例子:

[plain]

[root@localhost Desktop]# bzip2 -z show_space.sql

[root@localhost Desktop]# bzip2 -d show_space.sql.bz2

[root@localhost Desktop]# bzip2 -zk show_space.sql

 Ⅲ tar

tar打包出来的文件有无进行压缩所得到的文件称谓有别。

如:tar -cv -f file.tar ,这个文件我们称呼tarfile

如:tar -jcv -f file.tar.bz2,这个文件我们称呼tarball(tar球)

语法:

压缩:tar -jcv -f filename.tar.bz2 要被压缩的文件或目录名称

查询:tar -jtv -f filename.tar.bz2

解压缩:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录

如果是.gz,则把j改为z即可

例子:

[plain]

[root@localhost Desktop]# tar -jcv -f think.tar.bz2 show_space.sql

show_space.sql

[root@localhost Desktop]# tar -jxv -f think.tar.bz2 -C /root/Desktop

show_space.sql

 Ⅳ cpio

cipo和数据流重定向相关

语法:

备份:cpio -ovcB >[file|device]

还原:cpio -ivcdu< [file|device]

例子:

[plain]

[root@localhost Desktop]# find | cpio -ovcB >/home/oracle/desktop.cpio

[root@localhost Desktop]# cpio -idvc /home/think< /home/oracle/desktop.cpio