文件压缩,解压缩及归档

    在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

相关推荐

  • 第七周

    1、创建一个10G分区,并格式为ext4文件系统; (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; fdisk /dev/sdb欢迎使用 fdisk (util-li…

    Linux干货 2016-09-19
  • grub详解

    #GRUB详解 grub基础概念 前面的开机过程我们知道:按照BIOS定义的硬件设备启动顺序,第一启动设备中的MBR去读取boot loader。boot loader功能很强大,要重新自检硬件设备,开始有一个菜单供用户选择系统或者内核版本,还要加载内核将内核解压到RAM中并执行,最后将控制权移交给内核。屈屈446个字节怎么让它完成那么多功能。所以Linux…

    Linux干货 2016-11-25
  • N28-第三周博客作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。
    2、取出最后登录到当前系统的用户的相关信息。
    3、取出当前系统上被用户当作其默认shell的最多的那个shell。
    4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt文件中。
    5、取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分。
    6、列出/etc目录下所有以.conf结尾的文件的文件名,并将其名字转换为大写后保存至/tmp/etc.conf文件中。
    7、显示/var目录下一级子目录或文件的总个数。
    8、取出/etc/group文件中第三个字段数值最小的10个组的名字。
    9、将/etc/fstab和/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc.test文件中。
    10、请总结描述用户和组管理类命令的使用方法并完成以下练习:
    (1)、创建组distro,其GID为2016;
    (2)、创建用户mandriva, 其ID号为1005;基本组为distro;
    (3)、创建用户mageia,其ID号为1100,家目录为/home/linux;
    (4)、给用户mageia添加密码,密码为mageedu;
    (5)、删除mandriva,但保留其家目录;
    (6)、创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;
    (7)、修改slackware的默认shell为/bin/tcsh;
    (8)、为用户slackware新增附加组admins;

    Linux干货 2017-12-19
  • 加密·解密·PKI详解及如何创建私有CA

    加密解密技术基础: 安全的目标:   保密性:confidentiality 确保通信信息不被任何无关的人看到 完整性:integrity 实现通信双方的报文不会产生信息丢失 数据完整性 系统完整性 可用性:availability 通信任何一方产生的信息应当对授权实体可用 攻击类型:   威胁保密性的攻击:窃听、通信…

    2017-05-30
  • 包管理一:配置本地ISO的yum源

    故事背景:网上找了一个软件,但是这个软件需要依赖光盘上面的基础包,但是这个服务器又不能上网,怎么办? 方法:这里推荐配置本地ISO的yum源,然后yum localinstall xxx.rpm 1、yum的配置文件说明 配置文件: /etc/yum.conf:为所有仓库提供公共配置 /etc/yum.repos.d/*.repo:为仓库的指向提供配置 仓库…

    Linux干货 2016-01-05

评论列表(1条)

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

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