linux 下的文件压缩与解压

文件压缩

压缩原理:把文件的二进制代码压缩,把相邻的0,1代码减少,比如有000000,可以把它变成6个0 的写法60,来减少该文件的空间。

目的:时间换空间,cpu时间–>空间

压缩文件工具:

   compress|uncompress 压缩后的文件.z

   gzip|gunzip  压缩后的文件 .gz

   bzip|bunzip  压缩后的文件.bz2

   xz|unxz    压缩的文件.xz 

    

    gzip [option]  File
        -d :解压缩
        -数字:指定压缩比,默认数字为6,数字越大压缩比越大,更耗CPU资源
        -c:将压缩结果输出至标准输出
       gzip -c file > file.gz
       gzip 文件名:压缩文件,生成压缩文件,并删除原文件
            gunzip 压缩文件:解压缩文件,并将压缩文件删除
            zcat 压缩文件:查看gzip压缩文件,将压缩文件生成临时解压文件,并将临时文件显示

gzip动手操作

    gzip fiel :直接将file文件压缩,取名为file.zp,并将filey原文件删除

    8.png

     -c:选项

    9.png

bzip [option] file
    
    -d :解压缩
     -数字:指定压缩比,默认数字为6,数字越大压缩比越大,最大到9,更耗CPU资源
    -k:压缩并保留源文件
bzcat :查看bz2压缩文件
xz |unxz 
    -d:解压缩
     -数字:指定压缩比,默认数字为6,数字越大压缩比越大,最大到9,更耗CPU资源  
    -k:压缩并保留源文件
xzcat:不解压直接查看xz压缩文集
小结:以上三种只适合文件的压缩,压缩比例依次递增

归档工具

tar |cpio

    tar [option] 归档文件,tar工具打包回丢失acl属性

       -v:详细查看解压和归档信息

       -cf:创建归档文件 tar -cf /path/file.tar /path/

       -f:指定文件路径

       展开归档

        -x:默认展开当前路径

        -C:指定展开路径

        

       -t:不展开归档预览里面文件

       -X |–exclude-from file 打包时,不打包file文件中包含的文件或目录列表

       -exclude: -exclude=file1 打包时排除file1文件

    归档完成后需要压缩,利用tar结合之前的压缩工具

        -z:自动调用gzip2 压缩工具

        -j:自动调用bzip2 压缩工具

        -J:自动调用xz压缩工具

结合三种压缩工具压缩打包/root/bin目录

    10.png

    9.png

    11.png

zip:压缩归档工具 后缀名.zip 

    创建压缩:zip 文件名.zip 要压缩文件

    解压缩文件:unzip

    

cpio

    

    cpio命令是通过重定向的方式将文件进行打包备份,还原恢复的工具,它可以解压以“ . cpio”或者“ .tar”结尾的文件。
    cpio [选项] > 文件名或者设备名
    cpio [选项] < 文件名或者设备名
        选项
        – o打包
        – i 解包,将打包文件解压或将设备上的备份还原到系统
        – t 预览,查看文件内容或者输出到设备上的文件内容
        – v 显示打包过程中的文件名称。
        – d 解包生成目录,在cpio还原时,自动的建立目录

        – c 一种较新的存储方式

原创文章,作者:wangnannan,如若转载,请注明出处:http://www.178linux.com/37962

(0)
wangnannanwangnannan
上一篇 2016-08-21 20:46
下一篇 2016-08-21 20:46

相关推荐

  • 安装Redmine

    Redmine是一个开源的、基于Web的项目管理和缺陷跟踪工具。它用日历和甘特图辅助项目及进度可视化显示。同时它又支持多项目管理。Redmine是一个自由开放源码软件解决方案,它提供集成的项目管理功能,问题跟踪,并为多个版本控制选项的支持。虽说像IBM Rational Team Concert的商业项目调查工具已经很强大了,但想坚持一个自由和开放源码的解决…

    Linux干货 2016-12-01
  • linux下逻辑卷管理LVM

    LVM:逻辑卷管理 LVM这个技术就是把底层的存储设备组成一个卷组,底层存储设备的存储空间会变成一个个PE(盘区,大小为2的n次方),这个卷组里就是一个个的PE,然后,这个卷组会重新分区,这些分区就为逻辑卷,这些逻辑卷都是由卷组里分配的PE组成。 关于LVM里的命令: pv的命令: pvcreate pvs pvdisplay pvscan pvremove…

    Linux干货 2015-08-04
  • sed基础

    sed 是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space ),接着用sed 命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed 主要用来自动编辑一个或多个文件, 简化对文件的反复操…

    Linux干货 2017-05-01
  • 网络基础

    网络小白一个,针对网络的基础知识无从下手,因此本文引用了鸟哥私房菜中的众多概念性知识,在此谢过,本文主要从OSI七层协议,TCP协议和一些网络中专业词汇进行解析,并通过子网掩码的划分,网络接口的配置、路由配置等实例来加深对网络的理解。 一、OSI七层协议:     OSI七层协议的由来:   由于网络链接过程…

    Linux干货 2016-09-07
  • LVM详解

    目录:  一、概述  二、LVM的相关概念  三、概念图  四、LVM基本操作    1.创建PV    2.查看PV信息    3.创建VG    4.查看VG信息    5.创建LV    6.查…

    Linux干货 2015-09-22
  • CentOS6.7上编译安装MariaDB

    CentOS6.7上编译安装MariaDB

    系统运维 2016-06-03