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

相关推荐

  • 网络相关命令

    网络相关命令 常用命令 ifcfg家族:   ifconfig:配置IP,NETMASK   route :路由   netstat : 状态及统计数据查看 iproute2家族     ip  系列 &nbs…

    Linux干货 2016-09-07
  • 马哥教育网络班22期+第三周(8.22-8.28)博客作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。   # who|awk '{print $1}'|sort| uniq 2、取出最后登录到当前系统的用户的相关信息。   # last   # last|gr…

    Linux干货 2016-08-29
  • 自制Linux系统实验

    1、添加一块新硬盘、并使系统识别 [root@centos6 ~]# echo "- – -" > /sys/class/scsi_host/host0/scan  [root@centos6 ~]# echo "…

    Linux干货 2016-09-19
  • rsync+inotify实现数据同步——单向传输

    实验环境:<从A主机推送数据到B主机[B主机可以有多个]> A主机:10.1.43.102 B主机:10.1.43.103 配置流程: —rsyncserver—- <B主机上配置> 1.vim /etc/rsyncd.conf(用户,目录,模块,虚拟用户及密码文件) vim /etc/rsyncd.…

    Linux干货 2016-10-27
  • Linux系统压缩和解压缩工具gzip、bzip2、xz以及tar打包工具总结

    在Linux系统使用过程中,对于一些不是常用的文件,利用cpu的时间资源对文件进行压缩可以节省一定的磁盘空间,对系统中某个目录经常会有备份的需求,可以使用Linux系统中的tar打包工具实现,文件的压缩对于大量的网络文件传输可以节约带宽,同时也能降低服务器的负载,我们经常需要从网站下载软件包到本地主机,这些包基本都是打包压缩的,要想使用安装,需要我们解压缩他…

    Linux干货 2016-08-18
  • shell变量的浅谈

    变量本质上是存储数据的一个或多个计算机内存地址,变量的命令规则包括: 1) 不能使用程序中的保留字,如if, for 2) 变量由字母、下划线和数字组成,且不能以数字开头 3) 要求风名知义 4) 统一命名规则:驼峰命名法 变量主要分为本地变量、环境变量、局部变量、位置变量和特殊变量 (1)本地变量:只对当前shell…

    2017-08-05