计算机计量单位是按字节来算的,单位为byte,一般平常称大B,而计算机最小的单位是比特,单位为bit,一般称小b,1byte=8bit .
压缩技术1:如果我们记录数字1,那按字节是00000001,前面有7个0,那如果压缩的话,可以把7个0有更短的方式表示,就达到压缩的目的。
压缩技术2:对相同字符压缩,比如有11111...共100个1,那可以表示为‘100个1相连’,总比写出100个1短。
当然实际的压缩算法是比较复杂的,这只是说个大概,一般来说,如是文本文件,有时好的压缩算法,可以压缩10倍左右,对其它二进制文件,不太理想。
现在硬盘空间很便宜,压缩不是那么重要了,但网络传输还是很需要压缩的,特别是大网站www服务,能压缩一点,就可以节省很大带宽,一个月可能省几万,上百万了。手机上流量也很贵,有时也需要压缩先,华为,苹果,数据库,iphone ,印度。
linux一般是做服务器用,很必要知道下面的压缩命令,目前常见的压缩文件名后辍有:
*.gz gzip压缩程序压缩的文件
.bz bzip压缩程序压缩的文件
*.tar tar打包后的文件
*.tar.gz tar打包后的文件再用gzip压缩的文件
*.tar.bz tar打包后的文件再用bzip压缩的文件
*.xz xz压缩程序压缩的文件
*.tar.xz tar打包后的文件再用xz压缩的文件
tar 命令
可以把很多文件打包成一个文件,方便传送:
这个参数非常多,一般我是用这些参数 打包
tar -cvf XXXX.tar xxx xxx xxx
其中c是新建文件,v显示压缩过程,f后面生成的文件名为XXXX.tar
解压方式如下:
tar -xvf XXXX.tar
gzip命令
gzip是目前用得最广的压缩命令,可以解开compress,zip,gzip等软件所压缩的文件。
用法,压缩: gzip xxx
解压 gunzip xxx.gz
高级用法:
gzip提供1-9级的压缩等级,默认是6级,一般是够用了,要想指定压缩级别,可以这样指定
gzip -7 xxx 按7级别来压缩
如果要不想解压就可以读里gzip文件里的内容,可以用命令zcat,用法如下:
zcat xxxx.gz
如果和tar组合起来,可以先tar打包,再用gzip压缩,如
tar -cvf xxxx.tar *
gzip xxxx.tar
解压为则为gunzip xxx.tar.gz
如果再减少一步,可以组合起来,这样压缩:tar -zcvf xxxx.tar.gz *
解压:tar -zxvf xxxx.tar.gz *
gzip命令
bzip2这个压缩比比gzip要好,用法基本和gzip相同。
用法,压缩: bzip2 xxx
解压 bunzip2 xxx.bz2
高级用法:
bzip2提供1-9级的压缩等级,默认是6级,一般是够用了,要想指定压缩级别,可以这样指定
bzip2 -7 xxx 按7级别来压缩
如果要不想解压就可以读里gzip文件里的内容,可以用命令zcat,用法如下:
bzcat xxxx.gz
如果和tar组合起来,可以先tar打包,再用gzip压缩,如
tar -cvf xxxx.tar *
bzip2 xxxx.tar
解压为则为bunzip2 xxx.tar.bz2
如果再减少一步,可以组合起来,这样压缩:tar -cjvf all.tar.bz2 *.jpg
解压: tar -jxvf xx.tar.bz2
xz命令:
它能够提供更高的压缩率,生成的文件更小,而且解压数据的速度也很快。XZ Utils 的主页上描述:对于典型文件,XZ Utils 能够生成比使用 gzip 小 30%,比使用 bzip 小 15% 的压缩文件。
xz -z 要压缩的文件
xz test.txt
如果要保留被压缩的文件加上参数 -k ,如果要设置压缩率加入参数 -0 到 -9调节压缩率。如果不设置,默认压缩等级是6.
xz -d test.txt.xz
xz -d 要解压的文件
同样使用 -k 参数来保留被解压缩的文件。
创建或解压tar.xz文件的方法
习惯了 tar czvf 或 tar xzvf 的人可能碰到 tar.xz也会想用单一命令搞定解压或压缩。其实不行 tar里面没有征对xz格式的参数比如 z是针对 gzip,j是针对 bzip2。
创建tar.xz文件:只要先 tar cvf xxx.tar xxx/ 这样创建xxx.tar文件先,然后使用 xz -z xxx.tar 来将 xxx.tar压缩成为 xxx.tar.xz
解压tar.xz文件:先 xz -d xxx.tar.xz 将 xxx.tar.xz解压成 xxx.tar 然后,再用 tar xvf xxx.tar来解包。
三种压缩命令的对比:
在不同压缩级别下,压缩同一文件后的大小:
在不同压缩级别下,压缩同一文件用的时间对比:
在不同压缩级别下,解压同一文件用的时间对比:
通过上面的图,大家可以知道哪种压缩适合自己了