文件压缩,解压缩及归档

    在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
下一篇 2016-08-18

相关推荐

  • 安全和加密与创建签名证书

    安全和加密:NIST定义的安全属性:(美国国家标准与技术研究院)保密性:        数据保密性        隐私性完整性:不可篡改        数据完整性        系统完整性高可用性: …

    Linux干货 2017-04-11
  • shell 编程(一)

    shell脚本编程:  编程语言的分类:根据运行方式    编程运行:源代码->编译器(编译)--程序文件    解释运行:源代码-->运行启动时解释,由解释器边解释运行; 根据其编程过程中功能的实现是调用库还是调用外部的程序文件:   shell脚本编程:      利用系统上的命令编程组件进行编程:   完整的编程:     利用库或编程组件进行编程; …

    Linux干货 2016-12-23
  • N21-第五周

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; # grep "^[[:space:]]\+" /etc/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; # grep&nbs…

    Linux干货 2016-08-15
  • 高级文件系统之-LVM管理

    lvm应用 lvm的重点在于可以弹性的调整filesystem的容量! 而并非在于数据的存储效率及安全上面。 需要文件的读写效能或者是数据的可靠性是RAID所考虑的问题。 lvm:逻辑卷管理器 允许对卷进行方便操作的抽象层,包括重新设定文件系统的大小 允许在多个物理设备间重新组织文件系统 将设备指定为物理卷 用一个或者多个物理卷来创建一个卷组 物理卷是用固定…

    Linux干货 2016-09-02
  • python 10第一周博客作业

    1. 修改提示符格式 PS1=”\[\e[1;5;41;33m\][\u@\h \W]\\$\[\e[0m\]” 2.命令别名:alias NAME=’VALUE’   如果想永久有效,要定义在配置文件中 仅对当前用户:~/.bashrc   对所有用户有效:/etc/bashrc 3.日期和时间:相关命令 d…

    Linux干货 2018-03-17
  • linux 使用者管理 (9月底)

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。     ~]#w | cut -d ' ' -f 1 |uniq -u 2、取出最后登录到当前系统的用户的相关信息。 ~]# last -1(数字1) 3、取出当前系统上被用户当作其默认shell的最多的那个shell。 ~]#…

    Linux干货 2016-10-02

评论列表(1条)

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

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