压缩工具gzip、bzip二、xz

压缩打包介绍

使用压缩工具的好处:
使用压缩文件,不只能够节省磁盘空间,并且在传输时还能节省网络宽带。网络

咱们一般讲的家用宽带和机房宽带100M是有区别的:
机房宽带的上行和下行都是100M,因此价格昂贵,家用宽带下行是100M,可是上行每每只有10M-20M工具

  • Linux下最多见的压缩文件是.tar.gz格式,还有.zip,.gz,.bz2,.xz,.tar.bz2,.tar.xz 等
  • Windows 下常见 .rar .zip .7z
  • .gz 表示由gzip压缩工具压缩的文件。
  • .bz2 表示由bzip2压缩工具压缩的文件。
  • .tar 表示由tar打包程序打包的文件(tar没有压缩功能,只是把一个目录合并成一个文件)
  • .tar.gz 先打包,在由gzip压缩
  • .tar.bz2 先打包,在由bzip2压缩
  • .tar.xz 先打包,在由xz压缩 

gzip压缩工具

格式:gzip [参数] filename -d是解压缩。spa

  • gzip -# filename //#范围1-9,默认6
  • gzip 不能压缩目录
  • gzip filename 压缩文件,暂不支持压缩目录,压缩后源文件消失
  • gzip -d filename.gz 解压文件,解压后,源压缩文件消失
  • gunzip filename.gz 解压文件, 解压后,源压缩文件消失
  • gzip –c filename > /tmp/filename.gz指定压缩文件路径,而且源文件存在
  • gzip –d –c /tmp/filename.gz > ./filename 解压文件到那个路径下,而且源压缩文件存在。
  • gunzip –c /tmp/filename.gz > ./filename 解压文件到那个路径下,而且源压缩文件存在。
  • zcat 2.txt.gz 查看.gz文件
  • file /tmp/2.txt.gz 查看文件的属性

例子:查找/etc/下后缀为.conf的文件,并将它的内容追加到文件1.txt中,而且压缩它,而后再解压。unix

[root@yong-02 gzip]# find /etc/ -type f -name "*conf" -exec cat {} >> 2.txt \;
[root@yong-02 gzip]# du -sh 2.txt 
4.0M	1.txt    //这里要注意一下,这个大小不太准确,这里屡次追加会看到文件,du -sh 1.txt查看的文件数值不一样,但在屡次查看,文件大小会恢复正常。(跳转数值较大比,是由于这个文件自己存在不少空隙,最后在压缩并解压后,会发现大小会有不一样) 
[root@yong-02 gzip]# wc -l 2.txt 
54738 2.txt
[root@yong-02 gzip]# gzip 2.txt 
[root@yong-02 gzip]# ls 
2.txt.gz
[root@yong-02 gzip]# gzip -d 2.txt 
[root@yong-02 gzip]# du -sh 2.txt
4.0M	2.txt
[root@yong-02 gzip]# gzip 2.txt
[root@yong-02 gzip]# du -sh 2.txt.gz 
560K	2.txt.gz
[root@yong-02 gzip]# gunzip 2.txt.gz 
[root@yong-02 gzip]# ls
2.txt
[root@yong-02 gzip]# gzip  2.txt 
[root@yong-02 gzip]# du -sh 2.txt.gz 
560K	2.txt.gz
  • 压缩文件2.txt,而且将压缩文件放到/tmp/下
[root@yong-02 gzip]# gzip -c 2.txt > /tmp/2.txt.gz
[root@yong-02 gzip]# ls
2.txt
[root@yong-02 gzip]# ls /tmp/2.txt.gz 
/tmp/2.txt.gz
[root@yong-02 gzip]# du -sh /tmp/2.txt.gz 
560K	/tmp/2.txt.gz
  • 解压文件2.txt.gz ,存放到当前目录下,命名为3.txt
[root@yong-02 gzip]# gzip -d -c /tmp/2.txt.gz > ./3.txt
[root@yong-02 gzip]# ls 
2.txt  3.txt
[root@yong-02 gzip]# wc -l 2.txt 3.txt
  54738 2.txt
  54738 3.txt
 109476 总用量
[root@yong-02 gzip]# du -sh 2.txt 3.txt
2.1M	2.txt
2.1M	3.txt
  • 查看压缩文件2.txt.gz的内容,由于内容比较多,这里就不粘贴出来了。
[root@yong-02 gzip]# zcat /tmp/2.txt.gz
  • file /tmp/2.txt.gz 查看属性,
[root@yong-02 gzip]# file /tmp/2.txt.gz 
/tmp/2.txt.gz: gzip compressed data, was "2.txt", from Unix, last modified: Mon Apr 16 14:43:00 2018
/tmp/2.txt.gz 压缩数据是2.txt,基于unix平台,最后修改时间是2018年4月16日星期一

bzip2压缩工具

bzip命令的格式:bzip2 [-dz] filename ,压缩文件时加不加-z都同样,-d 解压缩。
bzip比gzip压缩更小,所耗费的CPU资源也最大(压缩的文件也是最小的)code

  • bzip2 2.txt / bzip2 -z 1.txt //压缩文件
  • bzip2 -d 2.txt.bz2 / bunzip2 2.txt.bz2 //解压文件
  • bzip -# 2.txt //#范围1-9,默认9
  • 不能压缩目录
  • bzcat 2.txt.bz2 //查看压缩文件
  • bzip2 -c 2.txt > /root/2.txt.bz2 //指定压缩文件路径,而且源文件存在
  • bzip2 -c -d /root/1.txt.bz2 > /tmp/1.txt.new2 //解压文件到指定路径下,而且源压缩文件存在
  • File 2.txt.bz2 查看文件属性

第一次使用bzip2命令时提示没有这个命令,咱们用yum安装一下ip

[root@yong-02 ~]# yum install -y bzip2
  • 压缩文件2.txt
[root@yong-02 gzip]# bzip2 2.txt 
[root@yong-02 gzip]# ls
2.txt.bz2  3.txt
  • 解压文件2.txt.gz
[root@yong-02 gzip]# bzip2 -d 2.txt.bz2 
[root@yong-02 gzip]# ls
2.txt  3.txt
  • 压缩文件2.txt,而且指定路径,源文件存在
[root@yong-02 gzip]# bzip2 -c 2.txt > /tmp/2.txt.gz 
[root@yong-02 gzip]# ls /tmp/2.txt.gz 
/tmp/2.txt.gz
[root@yong-02 gzip]# ls
2.txt  3.txt
  • 解压文件2.txt.bz2,而且指定路径重名命为4.txt,源文件存在。
[root@yong-02 gzip]# bzip2 -d -c /tmp/2.txt.gz > ./4.txt
[root@yong-02 gzip]# ls
2.txt  3.txt  4.txt
[root@yong-02 gzip]# ls /tmp/2.txt.gz 
/tmp/2.txt.gz
  • 查看压缩文件2.txt.bz2 内容
[root@yong-02 gzip]# bzcat /tmp/2.txt.gz
  • 查看文件2.txt.bz2的属性。
[root@yong-02 gzip]# file /tmp/2.txt.gz 
/tmp/2.txt.gz: bzip2 compressed data, block size = 900k 	//bzip2压缩数据,大小为900k

xz压缩工具

xz命令格式:xz[-zd] filename 压缩文件加不加-z均可以,-d解压缩。
xz压缩文件比bzip2更小,所耗费的CPU资源也最大(压缩的文件也是最小的)资源

  • xz 1.txt / xz -z 1.txt //压缩文件ast

  • xz -d 1.txt.xz / unxz 1.txt.xz //解压缩文件sed

  • xz -# 1.txt //#范围1-9,默认9打包

  • 不能压缩目录

  • xzcat 1.txt.xz //查看压缩文件内容

  • xz -c 1.txt > /root/1.txt.xz //指定压缩文件路径,而且源文件存在

  • xz -d -c /root/1.txt.xz > 1.txt.new3 //解压文件到指定路径下,而且源压缩文件存在  同unxz

  • file 1.txt.xz查看文件属性

  • 压缩文件2.txt

[root@yong-02 gzip]# xz 2.txt 
[root@yong-02 gzip]# ls
2.txt.xz  3.txt  4.txt
  • 解压文件2.txt.xz
[root@yong-02 gzip]# xz -d 2.txt.xz 
[root@yong-02 gzip]# ls
2.txt  3.txt  4.txt
  • 压缩文件2.txt,而且指定路径,源文件存在
[root@yong-02 gzip]# xz -c 2.txt > /tmp/2.txt.xz
[root@yong-02 gzip]# ls
2.txt  3.txt  4.txt
[root@yong-02 gzip]# ls /tmp/2.txt.xz 
/tmp/2.txt.xz
  • 解压文件2.txt.xz,而且指定路径重名命为5.txt,源文件存在。
[root@yong-02 gzip]# xz -d -c /tmp/2.txt.xz > ./5.txt
[root@yong-02 gzip]# ls 
2.txt  3.txt  4.txt  5.txt
[root@yong-02 gzip]# ls /tmp/2.txt.xz 
/tmp/2.txt.xz
  • file 2.txz.xz
[root@yong-02 gzip]# file /tmp/2.txt.xz 
/tmp/2.txt.xz: XZ compressed data  //xz压缩数据。
  • 1.txt.xz<1.txt.bz2<1.txt.gz 说明xz压缩更严谨,可是所耗费cpu资源最大。
[root@yong-02 gzip]# du -sh 2.txt /tmp/2.txt.gz /tmp/2.txt.bz2 /tmp/2.txt.xz
2.1M	2.txt
900K	/tmp/2.txt.gz
232K	/tmp/2.txt.bz2
60K	/tmp/2.txt.xz
相关文章
相关标签/搜索