Linux压缩与解压缩工具

一、简述


    压缩是一种通过特定的算法来减少计算机文件大小的机制,因减少文件的大小,使文件能通过网络实现更快传输,此外还减少了文件的磁盘占用空间。反向就是解压缩



二,工具


    1,compress / umcompress 

        后缀名 .Z,很老的压缩工具,已经过时了。   


    2,gip , bzip2, xz


        

        (1) gzip / gunzip :压缩 / 解压缩 都会删除原文件

         语法:gzip [选项] 压缩(解压缩)文件名 

         后缀名:.gz 

#    常用选项:

#    -# : 压缩比,默认为6,范围1到9    
#    -d : 解压缩(gunzip)
#    -c : 将压缩后的结输出至标准输出

         zcat somefile.gz : 不解压查看gzip压缩后文件的内容                  

         例如:         

    # 压缩指定目标路径存放
    
    [root@xuegod63 tmp]# gzip -c /etc/passwd > /tmp/passwd.gz
    [root@xuegod63 tmp]# ls -hl
    total 24K
    -rw-r--r--. 1 root root 672 Apr 20 11:05 passwd.gz
    -rwxr-xr-x. 1 root root 20K Apr 20 10:47 rc.sysinit
        
    # 解压缩
    
    [root@xuegod63 tmp]# gzip -d /tmp/passwd.gz 
    [root@xuegod63 tmp]# ls -hl
    total 24K
    -rw-r--r--. 1 root root 1.6K Apr 20 11:05 passwd
    -rwxr-xr-x. 1 root root  20K Apr 20 10:47 rc.sysinit

        (2) bzip2 / bunzip2 : 压缩 / 解压缩 都会删除原文件

        

        语法:bzip2 [选项] 压缩(解压缩)文件名 

        后缀名:.bz2 

#     常用选项:
    
#     -# : 压缩比,默认为6 范围为 1 - 9         
#     -d : 解压缩(bunzip2)
#     -c : 将压缩后的结输出至标准输出  
#     -k : 保留原文件

        bzcat somefile.bz2 : 不解压查看bz2压缩后文件的内容 


        (3) xz / unxz 压缩 / 解压缩 都会删除原文件

        语法:xz [选项] 压缩(解压缩)文件名 

        后缀名:.xz   

#     常用选项:
        
#     -# : 压缩比,默认为6 范围为 1 - 9         
#     -d : 解压缩(unxz)
#     -c : 将压缩后的结输出至标准输出  
#     -k : 保留原文件

        xzcat somefile.xz 不解压查看xz压缩后的文件的内容        


        gzip, bzip2,xz 都不支持对目录的压缩,并具压缩和解压都会删除原文件。


    3,zip / unzip : 归档压缩


     zip是压缩程序,unzip是解压程序

        语法:zip ZIPFILE.zip src_file...

[root@xuegod63 ~]# zip a.zip /etc/passwd

# zip all.zip *.jpg   # 这条命令是将所有.jpg的文件压缩成一个zip包 压缩一个目录
[root@xuegod63~]# zip -r grub.zip /boot/grub       # 压缩一个目录
[root@xuegod63Desktop]# unzip grub.zip -d /opt/    # 解压

  

    4,tar  归档并压缩


    能实现将多个文件打包成单个文件,即为归档文件


    语法: tar [options] -f TARFILE.tar  SRC_FILE...    

   

    (1) 创建归档:

    tar 

       -c : create, 创建

        -v : 显示详细信息

        -f : FILENAME.tar   

    # 把两个目录或目标+文件打包成一个软件包   
     
    [root@xuegod63 Desktop]# tar -cvf ss.tar /boot/ /etc/passwd


    (2) 展开归档:    

    tar

        -x : extract , 提取

        -v : 显示详细信息

        -f : FILENAME.tar        

    [root@xuegod63 Desktop]# tar -xvf ss.tar

    

    (3) 查看归档:

    tar

        -t : 查看 tarfile 里面的文件

        -f : FILENAME.tar

    [root@xuegod63 Desktop]# tar -tvf ss.tar       #更为详细信息

    

    (4) tar可直接通过选项调用压缩工具执行压缩或解压

        -z : gzip

        -j : bzip2

        -J : xz

       

       归档并压缩组方式:-zcf, -jcf, -Jcf 

       后缀名:.tar.[ gz|bz2|xz ]

       解压缩:-zxf , -jxf , -Jxf 组合方式,也可以简写 tar  xf TARFILE.tar[.gz|.bz2|.xz] 不管是用什么方式压缩的,都会以对应的工具来解压缩

        如果是多选项连起来写,那f选项必须后面跟着是TARFILE.tar[.gz|.bz2|.xz]

        - 可加可不加都行        


        -C /path/to/somedir 可以指定解压的目录   

        

        例如:

# 把/boot目录压缩至/tmp目录下

[root@xuegod63 tmp]# pwd
/tmp

# gzip 
[root@xuegod63 tmp]# tar zcf boot.tar.gz /boot/
[root@xuegod63 tmp]# file boot.tar.gz 
boot.tar.gz: gzip compressed data, from Unix, last modified: Mon Apr 20 12:48:37 2015

# bzip2
[root@xuegod63 tmp]# tar jcf boot.tar.bz2 /boot
[root@xuegod63 tmp]# file boot.tar.bz2 
boot.tar.bz2: bzip2 compressed data, block size = 900k

# xz
[root@xuegod63 tmp]# tar Jcf boot.tar.xz /boot
[root@xuegod63 tmp]# file boot.tar.xz 
boot.tar.xz: xz compressed data


# 把/tmp/boot.tar.gz压缩文件解压至 /tmp/test/ 目录中

[root@xuegod63 tmp]# tar xf /tmp/boot.tar.gz -C /tmp/test/
[root@xuegod63 tmp]# ls /tmp/test/
boot

  


      


 THE END . 

本文出自 “学神IT-Linux讲师-MK” 博客,请务必保留此出处http://xuegod.blog.51cto.com/9708186/1636328

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。