正务库

linux压缩命令 压缩技术原理与各压缩命令简介介绍【详解】

时间:2年前   游览量:254    标签: 压缩    localhost    root    space    文件    参数   

    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