文件压缩,解压缩及归档

    在Linux的环境中,压缩文件的扩展名大多是:“*.tar, *.tar.gz, *.gz, *.Z, *.bz2, *.xz”,因为 Linux 支持的压缩指令非常多,且不同的指令所用的压缩技术并不相同,当然彼此之间可能就无法互通压缩/解压缩文件,当你下载到某个压缩文件时,自然就需要知道该文件是由哪种压缩指令所制作出来的,好用来对照着解压缩,虽然 Linux 文件的属性基本上是与文件名没有绝对关系的, 但是为了便于识别,所以适当的扩展名还是必要的!常见的压缩文件扩展名

blob.png 


1,gzip/gunzip/zcat

    gzip 选项….file….

    -d:解压缩,相当于gunzip;

    -#:指定压缩比,默认是6;数字越大压缩比越大;(1-9)

    -c:将压缩结果输出至标准输出;

    gzip -c file > /path/to/sumfile.gz

2,bzip2/bunzip2/bzcat

    bzip2 选项…file…

    -d:解压缩

    -#:指定压缩比,默认是6,数字越大压缩比越大;(1-9)

    -k:keep,保留原文件

3,xz/unxz/xzcat

    lzma/unlzma,lzma

     xz 选项…file…

    -d:解压缩

    -#:指定压缩比,默认是6,数字越大压缩比越大;(1-9)

    -k:保留原文件


    重点说tar虽然 gzip, bzip2, xz 也能够针对目录来进行压缩,不过, 这两个指令对目录的压缩指的是“将目录内的所有文件 "分别" 进行压缩”的动作!而不像在 Windows 的系统,可以使用类似 WinRAR 这一类的压缩软件来将好多数据“包成一个文件”的样式。tar 可以将多个目录或文件打包成一个大文件,同时还可以通过 gzip/bzip2/xz 的支持,将该文件同时进行压缩! 

归档:tar,cpio

    tar命令:

    tar 选项… fike…

    (1)创建归档

        -c -f /path/to/sumfile.tar file…

        -cf /path/to/sumfile.tar file…

    (2)展开归档

        -xf /path/from/somefile.tar

        -xf /path/from/somefile.tar -C /path/to/somedir

    (3)查看归档文件的文件列表

        -tf /path/to/somefile.tar

        du -sh /etc/:此命令可查看目录的大小

  归档完成后通常需要压缩,结合此前的压缩工具,就能实现压缩多个文件了;

    (4)归档并压缩

    -z:gzip2

    -zcf /path/to/somefile.tar.gz file…

    解压缩并展开归档-zxf /path/to/somefile.tar.gz

    -j:bzip2

        -jcf 压缩

        -jxf 解压

    -J:xz

        -Jcf 压缩

        -Jxf 解压 


 

最简单的使用 tar 

压缩 tar -Jcvf filename tar.xz 要被压缩的文件或目录名称(以xz格式压缩)

   tar -jcvf filename tar.bz2 要被压缩的文件或目录名称(以bzip2格式压缩)

   tar -zcvf filename tar.gz 要被压缩的文件或目录名称(以gzip格式压缩)

   特别留意,-z, -j, -J 不可以同时出现在一串命令行中,那个filename.tar.xz是我们自己取的文件名,tar并不会主动的产生创建的文件名

查询  

   tar -Jtvf filename tar.xz (查看以xz格式压缩后的文件名)

   tar -jtvf filename tar.bz2 (查看以bzip2格式压缩的文件名)

   tar -ztvf filename tar.gz (查看以gzip格式压缩的文件名) 

解压   

   tar -Jxvf filename tar.xz (解压以xz格式压缩的包)

   tar -jxvf filename tar.bz2(解压以bzip2格式压缩包)

   tar -zxvf filename tar.gz (解压以gzip格式压缩包)


完   

原创文章,作者:M20-1马星,如若转载,请注明出处:http://www.178linux.com/37279

(0)
M20-1马星M20-1马星
上一篇 2016-08-18 15:20
下一篇 2016-08-18 15:20

相关推荐

  • Linux网站架构系列之Mysql—-部署篇

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nolinux.blog.51cto.com/4824967/1321079   MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL所使用的SQL语言是用于…

    Linux干货 2015-04-01
  • Linux 第十天: Linux文件查找和压缩

      Linux 第十天: Linux文件查找和压缩                     使用Linux的时候, 经常需要查找文件, 在Linux中, 有很多方法可以做到这一点.…

    Linux干货 2016-08-18
  • python面向对象第二周魔术方法详解

    魔法方法及其使用__开头和结束的方法,定义外部没有办法直接调用,但会有影响使用运算符号的魔法方法, + ,-,*,/,%,//,**, __add__,__sub__,__mul__,__truediv__,__mod__,__floordiv__,__pow__,__divmod__(?),系统内部对于数值型,字符串型,容器内型都定义了其中部分或者全部的运…

    Linux干货 2017-11-22
  • Xen虚拟化平台安装及实时迁移

    前言 Xen是英国剑桥大学计算机实验室开发的一个虚拟化开源项目,Xen可以在一套物理硬件上安全的执行多个虚拟机,它和操作平台结合的极为密切,占用的资源极少。以高性能、占用资源少著称,赢得了IBM、AMD、HP、Redhat和Novell等众多世界级软硬件厂商的高度认可和大力支持,已被国内外众多企事业用户用来搭建高性能的虚拟化平台。 Xen虚拟化类型 Xen对…

    Linux干货 2015-07-19
  • 用“逐步排除”的方法定位Java服务线上“系统性”故障

    一、摘要 由 于硬件问题、系统资源紧缺或者程序本身的BUG,Java服务在线上不可避免地会出现一些“系统性”故障,比如:服务性能明显下降、部分(或所有)接口超 时或卡死等。其中部分故障隐藏颇深,对运维和开发造成长期困扰。笔者根据自己的学习和实践,总结出一套行之有效的“逐步排除”的方法,来快速定位Java 服务线上“系统性”故障。 二、导言 Java 语言是广…

    2015-02-28
  • 15磁盘管理

    在系统中,常见的硬盘接口有分两类:并行的和串行的 并行: IDE: 133MB/s SCSI: 640MB/s 串行: SATA: 6Gbps SAS: 6Gbps USB: 480MB/s 存储设备的设备文件命名方式大致为:/dev/DEV_FILE IDE: /dev/hd#  #–>0,1,2,3 SCSI,SATA,SAS…

    Linux干货 2016-12-02

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-19 11:40

    归档和解压缩对于我们来说可以大大节约磁盘空间,他是通过时间与空间来进行交换的,这也是我们需要熟练掌握的知识点。