zoukankan      html  css  js  c++  java
  • 打包、压缩指令

      Linux 支援的压缩指令非常多,且不同的指令所用的压缩技术并不相同,当然彼此之间可能就无法互通压缩/解压缩档案啰。所以,当你下载到某个压缩档时,自然就需要知道该档案是由哪种压缩指令所制作出来的,好用来对照着解压缩啊!也就是说,虽然Linux 档案的属性基本上是与档名没有绝对关系的, 但是为了帮助我们人类小小的脑袋瓜子,所以适当的副档名还是必要的

    1、压缩文件的后缀

     * .Z     compress程式压缩的档案;
     * .zip   zip程式压缩的档案;
     * .gz    gzip程式压缩的档案;
     * .bz2   bzip2程式压缩的档案;
     * .xz    xz程式压缩的档案;
     * .tar   tar程式打包的资料,并没有压缩过;
     * .tar.gz     tar程式打包的档案,其中并且经过gzip的压缩
     * .tar.bz2    tar程式打包的档案,其中并且经过bzip2的压缩
     *.tar.xz      tar程式打包的档案,其中并且经过xz的压缩

    2、压缩命令(单个压缩)

      ①gzip:gzip可以压缩产生后缀为 .gz 的压缩文件,(zcat 压缩名)查看压缩文件的内容。使用 gzip 指令压缩/解压文件均会使得源文件消失,即源文件会被直接解压/压缩而不保留备份。若想要保留原文件可以使用 -c 参数结合数据流重定向操作

    选项与参数:
    -c :将压缩的资料输出到萤幕上,可透过资料流重导向来处理;
    -d :解压缩的参数;
    -t :可以用来检验一个压缩档的一致性~看看档案有无错误;
    -v :可以显示出原档案/压缩档案的压缩比等资讯;
    -# :# 为数字的意思,代表压缩等级,-1 最快,但是压缩比最差、-9 最慢,但是压缩比最好!预设是-6

      注:对应于 gzip,可以使用 gunzip 进行解压操作,效果类似gzip -d xx,同时可以使用zcat读取压缩文件的内容并显示在标准输出,功能类似于 gzip -c xx. 

     ②bzip2:与gzip相似的指令选项,(bzcat 压缩名),查看文件内容

    选项与参数:
     - c :将压缩的过程产生的资料输出到萤幕上!
     - d :解压缩的参数
     - k :保留原始档案,而不会删除原始的档案喔!
     - z :压缩的参数(预设值,可以不加)
     -v :可以显示出原档案/ 压缩档案的压缩比等资讯;
     -# :与gzip同样的,都是在计算压缩比的参数, - 9最佳, - 1最快!

      ③xz:xcat 压缩名,查看内容;优化较大,但是耗时较长

    选项与参数:
     - d :就是解压缩啊!
     - t :测试压缩档的完整性,看有没有错误
     - l :列出压缩档的相关资讯
     - k :保留原本的档案不删除~
     - c :同样的,就是将资料由萤幕上输出的意思!
     -# :同样的,也有较佳的压缩比的意思!

    以上压缩方式均为独立压缩

    3、打包压缩指令 

      ① tar

    选项与参数:
     -c :建立打包档案,可搭配- v来察看过程中被打包的档名(filename)
     -t :察看打包档案的内容含有哪些档名,重点在察看『档名』就是了;
     -x :解打包或解压缩的功能,可以搭配- C (大写)在特定目录解开
          特别留意的是, -c, -t, - x不可同时出现在一串指令列中。
     -z :透过gzip的支援进行压缩/解压缩:此时档名最好为* .tar.gz
     -j :透过bzip2的支援进行压缩/解压缩:此时档名最好为* .tar.bz2
     -J :透过xz的支援进行压缩/解压缩:此时档名最好为* .tar.xz
          特别留意, -z, -j, - J不可以同时出现在一串指令列中
     -v :在压缩/ 解压缩的过程中,将正在处理的档名显示出来!
     -f filename:-f后面要立刻接要被处理的档名!建议- f单独写一个选项啰!(比较不会忘记)
     -C目录:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。
    
     其他后续练习会使用到的选项介绍:
     -p(小写) :保留备份资料的原本权限与属性,常用于备份(- c)重要的设定档
     - P(大写) :保留绝对路径,亦即允许备份资料中含有根目录存在之意;
     - -exclude=FILE:在压缩的过程中,不要将FILE打包!

    常用指令

    压缩:  tar -cvjpf etc.tar.bz2 /etc  //-c为创建一个打包文件,相应的-f后面接创建的文件的名称,使用了.tar.bz2后缀,-j标志使用bzip2压缩,最后面为具体的操作对象/etc目录
    查看:  tar -tvjf etc.tar.bz2     //-t为查看操作,则-f对应所查看的文件的名称,文件后缀显示使用bzip2进行压缩,所以加入-j选项,-v会显示详细的权限信息
    解压:   tar -xvjf etc.tar.bz2     //-x为解压操作,则-f指定的是解压使用的文件,文件后缀显示使用bzip2进行压缩,所以加入-j选项,即使用bzip2解压
                              //若只解压指定打包文件中的一个文件,在上述指令的最后加上带解压文件名作为参数即可
     tar -zxvf aa.gz
    • 压缩:tar -j c v -f filename.tar.bz2要被压缩的档案或目录名称
    • 查询:tar -j t v -f filename.tar.bz2
    • 解压缩:tar -j x v -f filename.tar.bz2 -C欲解压缩的目录

      tar -cf 文件

      tar -xf 压缩包 

      ②zip

    基本格式:unzip [Options] file[.zip]    //不接任何Options时,默认将指定的file文件解压至当前文件夹,可同时接受多个文件参数
    常用命令参数:
    -Z        //以形如 ls -l 的格式显示目标文件内容,实际原理是命令第一个参数为-Z时,其余参数会被视为 zipinfo 的参数,并产生对应效果  
    -Z1        //仅显示压缩文件内容的文件名,更多显示可查看 zipinfo 命令的 man 帮助
    -l        //显示压缩文件中包括时间、占用空间和文件名等信息,内容上较 -Z 更简单
    //文件测试
    -t        //在内存中解压文件并进行文件的完整性校验(CRC校验)
    //解压缩参数,注意unzip默认即为解压操作
    -f        //注意与 tar 命令不同,unzip指定 -f 参数时,则将磁盘上已经存在且内容新于对应磁盘文件的压缩内容解压出来
    -n        //解压缩时不覆盖已存在的文件(而是跳过)
    -q        //安静模式,仅解压缩而不输出详细信息
    -d dir      //将文件解压至dir指定的文件夹中

    本文链接:https://www.cnblogs.com/yaradish/p/9553849.html 

    参考:http://linux.vbird.org/linux_basic/0240tarcompress.php#compress_tech

  • 相关阅读:
    基于视网膜虹膜识别的内容分级系统
    C# 反射详解一
    C# 委托浅析
    .Net Core中使用Dapper构建泛型仓储
    C# 泛型详解
    非对称可逆加密RSA
    对称可逆加密Des
    .NET Core 3.0 中间件 Middleware
    .NET Core3.0 日志 logging
    .Net Core3.0依赖注入DI
  • 原文地址:https://www.cnblogs.com/yaradish/p/9553849.html
Copyright © 2011-2022 走看看