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

相关推荐

  • Linux运维基础

    正则表达式

    Linux干货 2018-03-19
  • C++的std::string的“读时也拷贝”技术!

    C++的std::string的读时也拷贝技术! 嘿嘿,你没有看错,我也没有写错,是读时也拷贝技术。什么?我的错,你之前听说写过时才拷贝,嗯,不错的确有这门技术,英文是Copy On Write,简写就是COW,非常’牛’!那么我们就来看看这个’牛’技术的效果吧。 我们先编写一段程序 #include <string> #include…

    Linux干货 2015-04-03
  • 3rd work

    1、列出当前系统上所有已经登陆的用户名,注意同一个用户登陆多次,则只显示一次即可。 [root@localhost ~]# w 11:50:45 up 24 min,  3 users,  load average: 0.04, 0.04, 0.10 USER     TTY      FROM             LOGIN@   IDLE   JCP…

    Linux干货 2017-10-08
  • iptables练习

    系统的INPUT和OUTPUT默认策略为DROP; 1、限制本地主机的web服务器在周一不允许访问;新请求的速率不能超过100个每秒;web服务器包含了admin字符串的页面不允许访问;web服务器仅允许响应报文离开本机; 系统默认策略设定: ~]# iptables -P INPUT DROP ~]# iptables -P OUPUT DROP 网络说明…

    Linux干货 2016-12-27
  • Linux简介,计算机基础

    计算机系统   计算机系统分为:  硬件(Hardware)系统和软件(Software)系统  硬件系统:    主机、外部设备  软件系统:  系统软件、应用软件  主机:  中面处理器CPU、内存储器  外部设备:  外部存储器、输入…

    Linux干货 2017-02-14
  • N25第九周博客作业

    1、 写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/sh lg=0 nlg=0 while read line;do   if [[ “${line}” =~“/sbin/nol…

    Linux干货 2017-03-06