压缩工具

compress/uncompress:  .Z结尾

gzip/gunzip: .gz结尾

bzip2/bunzip2: .bz2结尾

xz/unxz: .xz后缀,.lzma和.raw后缀

    1、默认删除被压缩的文件,为了节约空间保留原文件必须启用选项

    2、压缩比不高:快速、高效

    3、纯文本压缩,二进制压缩意义不大

    4、bzip2,xz不支持递归压缩

压缩及归档工具: zip/unzip: .zip后缀

    1、通用的工具: VMS,Unix,MSDOS,OS/2,Windows(Windows 原生支持的压缩),Window 9x/NT/XP,Minix

    2、tar和压缩工具共同的作用

 3、支持归档压缩目录

归档工具: tar,cpio(特殊场景)

    1、归档后,文件可能变大。(书放在箱子里,箱子的重量)

    2、压缩/解压缩后不会删除原文件

    3、压缩时,带调用压缩的选项。展开时,可以不带选项,自动识别。 -Jcf tar.xz

 4、支持归档或压缩目录 

    

gzip/gunzip/zcat命令

1、LZ77压缩算法

2、压缩目录,-r

gzip [OPTIONS...] FILE    -c --stdout  ## 压缩后的结果输出到标准输出。(目的不自动删除原文件)    -d           ## 调用gunzip实现解压缩    -r,--recursive  ## 递归压缩    -#  1,9      ## 压缩比,越大,文件小,消耗的cpu时针周期越长zcat FILE     不展开文件,查看压缩文件的内容

bzip2/bunzip2/bzcat命令

1、LZ77,LZ78压缩算法,支持比gzip更高级的算法

2、不能压缩目录

bzip2 [OPTIONS....] FILE    -k,keep   ## 不删除原文件,保持原文件    -d         ## 调用bunzip2解压文件    -#,1-9    ## 压缩级别。压缩比,越大,文件小,消耗的cpu时针周期越长        -q,quiet  ## 静默模式,适用于脚本中

xz/unxz/xzcat命令

1、流行的压缩工具,压缩算法比bzip2更为有效

2、不支持压缩目录

xz [OPTIONS...] FILE...    -k    -c,--stdout    -d    -#        -q       ## 静默模式    -F FORMAT  ## xz,lzma,raw 默认为xz    xzcat FILE  不展开压缩文件,查看文件解压的内容

zip/unzip命令,归档和压缩工具

    1、解压后的文件名同压缩前的文件名

    2、压缩/解压缩后不会删除原文件

 3、支持压缩目录

zip FILE.zip FILE ...    -d, --delete 不展开归档,删除归档中的文件    -r , 递归归档    -q, 静默模式

tar GNUtar归档工具

    1、解压后的文件名同压缩前的文件名

    2、压缩/解压缩后不会删除原文件 

 3、支持归档目录

tar [OPTIONS...]  FILE...    -cvf FILE.tar 创建归档    -xvf FILE.tar 展开归档    -tvf FILE.tar 不展开归档,查看归档的文件        -f FILE.tar 归档后的文件名        -v ,verbose详细信息    -C DIR   展开至指定目录     -j ,归档后,调用bzip2工具对文件压缩    -J , 归档后,调用xz    -z , 调用gzip**命令可省略 - ,例如 -cvf 可写为 cvf

gzip/gunzip/zcat命令

使用示例

1、准备文件[root@izpo45bh60h6bsz ~]# cp /etc/{fstab,init.d/functions} /tmp/[root@izpo45bh60h6bsz ~]# ls -l /tmp/-rw-r--r-- 1 root root   358 8月  13 18:08 fstab-rw-r--r-- 1 root root 15131 8月  13 18:08 functions2、压缩文件[root@izpo45bh60h6bsz ~]# cd /tmp[root@izpo45bh60h6bsz tmp]# lsfstab  functions[root@izpo45bh60h6bsz tmp]# gzip fstab [root@izpo45bh60h6bsz tmp]# lsfstab.gz  functions  ## 原文件被删除3、解压缩文件root@izpo45bh60h6bsz tmp]# gunzip fstab.gz [root@izpo45bh60h6bsz tmp]# lsfstab  functions     ## 解压的文件被删除4、保留原文件,压缩[root@izpo45bh60h6bsz tmp]# gzip -c fstab > fstab.gz[root@izpo45bh60h6bsz tmp]# lsfstab  fstab.gz  functions[root@izpo45bh60h6bsz tmp]# ls -l -h-rw-r--r-- 1 root root 358 8月  13 18:08 fstab     ## 对比-rw-r--r-- 1 root root 266 8月  13 18:10 fstab.gz  ## 对比-rw-r--r-- 1 root root 15K 8月  13 18:08 functions5、保留原文件,解压[root@izpo45bh60h6bsz tmp]# gzip -d -c fstab.gz > fstab.1[root@izpo45bh60h6bsz tmp]# ls -lh-rw-r--r-- 1 root root 358 8月  13 18:12 fstab    ## 对比-rw-r--r-- 1 root root 358 8月  13 18:12 fstab.1  ## 对比-rw-r--r-- 1 root root 266 8月  13 18:10 fstab.gz-rw-r--r-- 1 root root 15K 8月  13 18:08 functions6、低压缩比和高压缩比解压的区别1)低压缩:速度快,效率高[root@izpo45bh60h6bsz tmp]# gzip -c -1 fstab > fstab.1.gz2)高压缩,速度慢,浪费cpu时钟周期,文件压缩后的文件小[root@izpo45bh60h6bsz tmp]# gzip -c -9 fstab > fstab.2.gz[root@izpo45bh60h6bsz tmp]# ls -lh fstab.1.gz fstab.2.gz -rw-r--r-- 1 root root 267 8月  13 18:14 fstab.1.gz-rw-r--r-- 1 root root 266 8月  13 18:14 fstab.2.gz7、压缩目录[root@izpo45bh60h6bsz tmp]# cp -r /etc/pam.d .[root@izpo45bh60h6bsz tmp]# gzip -r pam.d[root@izpo45bh60h6bsz tmp]# ls pam.d/atd.gz            fingerprint-auth-ac.gz ....8、解压目录[root@izpo45bh60h6bsz tmp]# gunzip pam.d/*[root@izpo45bh60h6bsz tmp]# ls pam.d/atd          fingerprint-auth 9、不展开文件查看文件的内容[root@izpo45bh60h6bsz tmp]# zcat fstab.gz ## /etc/fstab# Created by anaconda on Fri Feb 24 02:58:22 2017## Accessible filesystems, by reference, are maintained under '/dev/disk'# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info#UUID=07151862-c2b9-45dc-bf7a-af8d2a6fa6c1 /                       ext3    defaults        1 1/www/swap    swap    swap    defaults    0 0[root@izpo45bh60h6bsz tmp]#

bzip2/bunzip2/bzcat命令

使用示例

1、准备文件[root@izpo45bh60h6bsz tmp]# cp /var/log/messages /tmp[root@izpo45bh60h6bsz tmp]# ls /tmp/messages /tmp/messages2、压缩文件[root@izpo45bh60h6bsz ~]# cd /tmp[root@izpo45bh60h6bsz tmp]# bzip2 messages [root@izpo45bh60h6bsz tmp]# ls messages*messages.bz23、解压缩文件[root@izpo45bh60h6bsz tmp]# bunzip2 messages.bz2 [root@izpo45bh60h6bsz tmp]# ls messages*messages4、保留原文件,压缩[root@izpo45bh60h6bsz tmp]# bzip2 -k messages [root@izpo45bh60h6bsz tmp]# ls messages*messages  messages.bz25、保留原文件,解压[root@izpo45bh60h6bsz tmp]# rm messagesrm:是否删除普通文件 "messages"?y[root@izpo45bh60h6bsz tmp]# ls messages*messages.bz2[root@izpo45bh60h6bsz tmp]# bzip2 -d -k messages.bz2 [root@izpo45bh60h6bsz tmp]# ls messages*messages  messages.bz26、低压缩比和高压缩比解压的区别[root@izpo45bh60h6bsz tmp]# bzip2 -1 -k messages [root@izpo45bh60h6bsz tmp]# bzip2 -9 messages.new [root@izpo45bh60h6bsz tmp]# ls -lh  messages*-rw------- 1 root root 469K 8月  13 18:26 messages-rw------- 1 root root  21K 8月  13 18:26 messages.bz2       ## 对比-rw------- 1 root root  18K 8月  13 18:31 messages.new.bz2   ## 对比7、不展开文件查看文件的内容[root@izpo45bh60h6bsz tmp]# bzcat messages.bz2 Aug 12 10:00:29 izpo45bh60h6bsz pure-ftpd[5446]: (?@140.205.225.185) [INFO] New connection from 140.205.225.185Aug 12 10:00:29 izpo45bh60h6bsz pure-ftpd[5446]: (?@140.205.225.185) [ERROR] Unable to read the indexed puredb file (or old format detected) - Try pure-pw mkdb

xz/unxz/xzcat命令

使用示例

1、准备文件[root@izpo45bh60h6bsz tmp]# rm /tmp/* -rf[root@izpo45bh60h6bsz tmp]# cp /etc/fstab /etc/issue .2、压缩文件[root@izpo45bh60h6bsz tmp]# xz issue [root@izpo45bh60h6bsz tmp]# lsfstab  issue.xz3、解压缩文件[root@izpo45bh60h6bsz tmp]# xz -d issue.xz [root@izpo45bh60h6bsz tmp]# lsfstab  issue4、保留原文件,压缩[root@izpo45bh60h6bsz tmp]# xz -k issue [root@izpo45bh60h6bsz tmp]# lsfstab  issue  issue.xz[root@izpo45bh60h6bsz tmp]# xz -c fstab > fstab.xz[root@izpo45bh60h6bsz tmp]# lsfstab  fstab.xz  issue  issue.xz5、保留原文件,解压[root@izpo45bh60h6bsz tmp]# lsfstab.xz  issue.xz[root@izpo45bh60h6bsz tmp]# xz -d -k fstab.xz issue.xz [root@izpo45bh60h6bsz tmp]# lsfstab  fstab.xz  issue  issue.xz6、低压缩比和高压缩比解压的区别-rw-r--r-- 1 root root 358 8月  13 18:40 fstab.bak[root@izpo45bh60h6bsz tmp]# xz -k -1 fstab [root@izpo45bh60h6bsz tmp]# mv fstab fstab.bak[root@izpo45bh60h6bsz tmp]# xz -k -9 fstab.bak -rw-r--r-- 1 root root 324 8月  13 18:40 fstab.bak.xz-rw-r--r-- 1 root root 332 8月  13 18:40 fstab.xz7、lzma格式压缩[root@izpo45bh60h6bsz tmp]# lsfstab [root@izpo45bh60h6bsz tmp]# xz -F lzma fstab[root@izpo45bh60h6bsz tmp]# lsfstab.bak.xz  fstab.lzma  issue  pam.d8、不展开文件查看文件的内容[root@izpo45bh60h6bsz tmp]# xzcat fstab.xz ## /etc/fstab# Created by anaconda on Fri Feb 24 02:58:22 2017## Accessible filesystems, by reference, are maintained under '/dev/disk'# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info#UUID=07151862-c2b9-45dc-bf7a-af8d2a6fa6c1 /                       ext3    defaults        1 1/www/swap    swap    swap    defaults    0 09、静默模式,错误输出流不输出至标准输出[root@izpo45bh60h6bsz tmp]# xz fstab.xzxz: fstab.xz: File already has `.xz' suffix, skipping[root@izpo45bh60h6bsz tmp]# xz -q fstab.xz

zip/unzip命令

使用示例

1、归档[root@izpo45bh60h6bsz tmp]# zip hello  fstab.bak.xz fstab.xz issue.xz [root@izpo45bh60h6bsz tmp]# ls -lh总用量 20K-rw-r--r-- 1 root root  324 8月  13 18:40 fstab.bak.xz-rw-r--r-- 1 root root  324 8月  13 18:40 fstab.xz-rw-r--r-- 1 root root 1.2K 8月  13 18:54 hello.zip-rw-r--r-- 1 root root   80 8月  13 18:39 issue.xz2、展开[root@izpo45bh60h6bsz tmp]# lshello.zip  pam.d[root@izpo45bh60h6bsz tmp]# unzip hello.zip Archive:  hello.zip extracting: fstab.bak.xz             extracting: fstab.xz                 extracting: issue.xz                [root@izpo45bh60h6bsz tmp]# lsfstab.bak.xz  fstab.xz  hello.zip  issue.xz  pam.d3、归档目录[root@izpo45bh60h6bsz tmp]# find . -maxdepth 1 -type f -delete[root@izpo45bh60h6bsz tmp]# lspam.d[root@izpo45bh60h6bsz tmp]# zip pam.d.zip pam.d[root@izpo45bh60h6bsz tmp]# ll总用量 8drwxr-xr-x 2 root root 4096 8月  13 18:43 pam.d-rw-r--r-- 1 root root  162 8月  13 18:58 pam.d.zip4、展开归档[root@izpo45bh60h6bsz tmp]# mv pam.d pam.d.bak[root@izpo45bh60h6bsz tmp]# unzip pam.d.zip Archive:  pam.d.zip   creating: pam.d/[root@izpo45bh60h6bsz tmp]# lspam.d  pam.d.bak  pam.d.zip[root@izpo45bh60h6bsz tmp]# ls pam.d5、归档目录[root@izpo45bh60h6bsz tmp]# zip pam.d.1.zip pam.d.bak/*[root@izpo45bh60h6bsz tmp]# zip -r pam.d.zip pam.d6、展开归档[root@izpo45bh60h6bsz tmp]# unzip pam.d.zip 7、静默模式:展开时/归档时不显示多余的信息[root@izpo45bh60h6bsz tmp]# unzip -q pam.d.zip

tar命令

使用示例

1、创建归档[root@izpo45bh60h6bsz tmp]# tar cvf hello.tar ./* 2、展开归档[root@izpo45bh60h6bsz tmp]# tar xvf hello.tar3、不展开,查看内容root@izpo45bh60h6bsz tmp]# tar tf hello.tar4、展开至指定目录[root@izpo45bh60h6bsz tmp]# mkdir test[root@izpo45bh60h6bsz tmp]# tar xvf hello.tar -C test/[root@izpo45bh60h6bsz tmp]# ls test/hello  pam.d  pam.d.1.zip  pam.d.bak  pam.d.zip5、归档后以bzip2工具压缩[root@izpo45bh60h6bsz tmp]# tar jcf total.tar.bz2 ./*total.tar.bz26、归档后以xz工具压缩[root@izpo45bh60h6bsz tmp]# tar Jcf total.tar.xz ./*total.tar.xz7、归档后以gzip工具压缩[root@izpo45bh60h6bsz tmp]# tar zcf total.tar.gz ./*total.tar.gz