day19:linux下的压缩及打包软件介绍

1.linux下的文件压缩工具gzip   bzip2  xz    tar

   1.1:linux压缩的目的:

  节省空间:对于磁盘而言:

  方便传输:  节约带宽 :

  1.2:linux下的文件格式 zip,     gz,     bz2,    xz,   tar.gz,   tar.bz2,   tar.xz,

2.gzip压缩工具:(注:不能压缩目录

解压缩使用格式: 

gzip        filename               #压缩文件          

gzip     -d     filename.gz      #解压缩文件       ===             gunzip     filename.gz

[root@localhost d6z]# gzip 1.txt                     #第一种方式用gzip格式压缩1.txt:压缩级别6:
[root@localhost d6z]# du -sh 1.txt.gz                #查询文件大小:
596K    1.txt.gz
[root@localhost d6z]# gzip -d 1.txt.gz               #第一种方式解压1.txt.
[root@localhost d6z]# wc -l 1.txt                    #第一次查询文件的内容行数:
61516 1.txt
[root@localhost d6z]# gzip -1 1.txt                  #用压缩级别1(不严谨)来压缩(1-9,默认压缩级别为6:)
[root@localhost d6z]# du -sh 1.txt.gz                #第二次查询文件大小,
692K    1.txt.gz
[root@localhost d6z]# gunzip 1.txt.gz               #使用第二种方式解压1.txt.
[root@localhost d6z]# ls
1.txt  2.txt  3.txt  4.txt
[root@localhost d6z]# wc -l 1.txt                   #第二次查询文件内容行数:  
61516 1.txt


如图:linux的压缩级别有1-91是最不严谨,9是最严谨的,压缩强度最狠:

图示第一次使用是默认6模式,第二次使用的是1模式:发现第二次压缩文件变大:

2.1:当文件压缩后,有时候会忘记写后缀名:我们可以通过下面的两个命令来查询:

file           filename.gz              #查看文件格式

zcat          filename.gz              #查看文件内容

[root@localhost d6z]# ls                   #查看文件内容:
1.txt.gz  2.txt  3.txt  4.txt
[root@localhost d6z]# file 1.txt.gz        #查看文件格式:
1.txt.gz: gzip compressed data, was "1.txt", from Unix, last modified: Sat Jun 23 22:25:53 2018
[root@localhost d6z]# zcat 1.txt.gz |head -5        #查看文件内容并查找前5行:
#
# /etc/nsswitch.conf
#

2.2:gzip默认压缩后是不保留源文件:而使用以下选项可以保留源文件:

“-c”: 压缩后保留源文件:格式如下:

gzip     -c    filename    >    /tmp/filename.gz          #压缩1.txt到tmp目录下,并保留源文件

gzip  -d    -c    /tmp/filename.gz         filename       #解压缩文件并至当前目录

[root@localhost d6z]# gzip  -c 1.txt  > /tmp/1.txt.gz    #压缩文件5.txt到/tmp目录下,并保留源文件:
[root@localhost d6z]# ls /tmp/1.txt.gz                   #查看压缩后文件:
/tmp/1.txt.gz
[root@localhost d6z]# gzip -c -d /tmp/1.txt.gz > ./5.txt    #解压缩/tmp目录下的文件到当前目录下:
[root@localhost d6z]# ls
1.txt  2.txt  3.txt  4.txt  5.txt
#注意:当解压缩时,解压到当前目录下的文件,并且当前目录的文件已存在,是会直接覆盖,不会询问:

"-df"   选项:解压缩时当目标源文件已存在,可强制覆盖源文件:

[root@localhost d6z]# gzip -c 1.txt > 1.txt.gz     #压缩文件1.txt后,并保留源文件:
[root@localhost d6z]# ls
1.txt  1.txt.gz  2.txt  3.txt  4.txt  5.txt
[root@localhost d6z]# gunzip 1.txt.gz              #当1.txt存在,并且强制解压源文件,会提示是否覆盖:
gzip: 1.txt already exists; do you wish to overwrite (y or n)? ^C
[root@localhost d6z]# gunzip -df 1.txt.gz          #使用-df选项,则不提示是否覆盖:

3、bzip2压缩工具 (不支持压缩目录)

命令格式:      bzip2      [-dz]       filename

bzip2          filename     #压缩文件         ====         bzip    -z     filename

bzip2      -d        filename.bz2      #解压缩文件       ====        bunzip            filename.bz2

[root@localhost d6z]# bzip2 1.txt               #使用第一种方式压缩1.txt.      
[root@localhost d6z]# ls
1.txt.bz2  2.txt  3.txt  4.txt  5.txt
[root@localhost d6z]# du -sh 1.txt.bz2         #本次使用的默认压缩级别9:压缩后大小为172K:
172K    1.txt.bz2
[root@localhost d6z]# bzip2 -d 1.txt.bz2        #使用第一种方式解压缩1.txt.
[root@localhost d6z]# bzip2 -z -1 1.txt            #使用第二种方式"-z"压缩1.txt:压缩级别是1:
[root@localhost d6z]# ls
1.txt.bz2  2.txt  3.txt  4.txt  5.txt
[root@localhost d6z]# du -sh 1.txt.bz2           #查看其文件大小为536K:比9级别的大很多:
536K    1.txt.bz2
[root@localhost d6z]# bunzip2 1.txt.bz2         #使用第二种方式解压缩1.txt:

注意:bzip2的压缩级别有1-9,默认级别是9:如图也是压缩最恨的,压缩时,加不加"z"都可以:

3.2 : bzip2默认压缩后不保留源文件,可以使用下列选项:

"-c" :压缩后保留源文件:    同gzip的相等:

使用格式如下:

bzip2     -c    filename       >     /tmp/filename.bz2     #压缩文件到/tmp目录下,并保留源文件:

bzip2    -d       -c      /tmp/filename.bz2      >     ./filename.txt    #解压缩文件到当前目录下

[root@localhost d6z]# bzip2 -c 1.txt > /tmp/1.txt.bz2     #压缩1.txt文件,并保留源文件:
[root@localhost d6z]# ls -ld /tmp/1.txt.bz2               #查看压缩后文件所在的目录:
-rw-r--r-- 1 root root 14 Jun 25 00:36 /tmp/1.txt.bz2
[root@localhost d6z]# bzip2 -d -c /tmp/1.txt.bz2 > ./1.txt      #解压缩文件,并保留源文件:
[root@localhost d6z]# ls
1.txt  2.txt  3.txt  4.txt  5.txt  6.txt

注意:bzip2解压后,解压缩到之前源文件所在的目录,会自动覆盖源文件:

3.3:bzip2压缩后也支持查看文件格式和文件内容:

file     1.txt.bz2              #查看文件格式:

bzcat   1.txt.bz2            #查看文件内容:

[root@localhost d6z]# file 1.txt.bz2                 #查看文件系统格式:
1.txt.bz2: bzip2 compressed data, block size = 900k      #看到此文件是bzip类型:
[root@localhost d6z]# bzcat 1.txt.bz2 |head -5
#
# /etc/nsswitch.conf
#
# An example Name Service Switch config file. This file should be
# sorted with the most-used services at the beginning.

4:xz压缩文件格式:默认压缩级别是“6”

命令格式: 

xz        filename                      #压缩文件            ====          xz       -z      filename

unxz    filename.xz                 #解压缩文件         ====          xz       -d     filename.xz

[root@localhost d6z]# xz 1.txt                  #第一种方式压缩文件1.txt:
[root@localhost d6z]# ls
1.txt.xz  3.txt  4.txt  5.txt  6.txt
[root@localhost d6z]# du -sh 1.txt.xz           #查看压缩后文件大小,可以看出来压缩的更狠:
40K     1.txt.xz
[root@localhost d6z]# unxz 1.txt.xz             #第一种方式解压缩文件1.txt.xz:
[root@localhost d6z]# ls
1.txt  3.txt  4.txt  5.txt  6.txt
[root@localhost d6z]# xz -z 1.txt               #第二种方式压缩文件1.txt:
[root@localhost d6z]# xz -d 1.txt.xz            #第二种方式解压缩文件1.txt.xz:

4.2:xz压缩格式默认也不保留源文件,同gzip  bzip2一样,也是有“-c”选项:

xz   -c    1.txt   >   /tmp/1.txt.xz                #压缩1.txt文件到/tmp目录下为xz格式,保留源文件:

xz   -c   /tmp/1.txt.xz     >   ./1.txt                  #解压缩/tmp目录下的1.txt.xz到当前目录下的1.txt:

[root@localhost d6z]# xz -c 1.txt > 1.txt.xz       #用xz格式把1.txt压缩,并保留源文件:
[root@localhost d6z]# ls                           #查看:
1.txt  1.txt.xz
[root@localhost d6z]# xz -c  1.txt.xz > 1.txt   #用xz格式把1.txt文件解压缩:并强制覆盖:

注:当解压缩时,当目标文件已存在,会提示”文件已存在“,则需用到“-df”选项了:

[root@localhost d6z]# xz -d 1.txt.xz
xz: 1.txt: File exists
[root@localhost d6z]# ls
1.txt  1.txt.xz
[root@localhost d6z]# xz -df 1.txt.xz
[root@localhost d6z]# ls
1.txt

4.3:xz也支持查看压缩文件格式:和文件内容:用法同gzip和bzip2 相同:

[root@localhost d6z]# file 1.txt
1.txt: XZ compressed data
[root@localhost d6z]# xzcat 1.txt.xz
11111

总结:

gzip :    [ -d    -(1-9)  -c   ]                                  gunzip 

bzip2:   [-z   -d   -(1-9)   -c    ]                           bunzip2

xz :       [-z    -d    -c    ]                                      unxz

查看格式的命令:file     filename

查看内容的命令为:   zcat      bzcat      xzcat 

 xz  >   bzip2    > gzip

转载于:https://my.oschina.net/yuanhaohao/blog/1834626

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值