zoukankan      html  css  js  c++  java
  • linux 打包命令

    部分资料来源:

    1. 鳥哥的 Linux 私房菜
    2. Linux下文件的打包、解压缩指令

    gzip、bzip2

    zip可以压缩产生后缀为 .gz 的压缩文件,也可以用于解压gzip、compress等程序压缩产生的文件。

    基础格式: gzip [Options] file1 file2 file3  
      指令选项:(默认功能为压缩)  
      -c       //将输出写至标准输出,并保持原文件不变  
      -d       //进行解压操作  
      -v       //输出压缩/解压的文件名和压缩比等信息  
      -digit     //digit部分为数字(1-9),代表压缩速度,digit越小,则压缩速度越快,但压缩效果越差,digit越大,则压缩速度越慢,压缩效果越好。默认为6.  
    

      注意,使用 gzip 指令压缩/解压文件均会使得源文件消失,即源文件会被直接解压/压缩而不保留备份。若想要保留原文件可以使用 -c 参数结合数据流重定向操作(见下例)。

    gzip exp1.txt exp2.txt     //分别将exp1.txt和exp2.txt压缩,且不保留原文件。注意对于多个文件参数是将多个文件分别进行压缩,而不是压缩在一起。参考下文 tar 指令。
    
    gzip -dv exp1.gz       //将exp1.gz解压,并显示压缩比等信息。
    
    gzip -cd exp1.gz > exp.1    //将exp1.gz解压的结果放置在文件exp.1中,并且原压缩文件exp1.gz不会消失
    

      特别注意第三条实例, -d 指示解压缩,-c 参数是将结果输出至标准输出,通过 > 符号,将原本输出至标准输出的解压结果重定向至exp.1中,既解压了文件,原压缩文件也没有消失。

      注:
    1. 对应于 gzip,可以使用 gunzip 进行解压操作,效果类似gzip -d xx
    2. gzip -c 需要指定输出到的文件,不然解压不会执行成功。(参考第三条实例)

    bzip2是采用更好压缩算法的压缩程序,一般可以提供较之gzip更好的压缩效果。其具有与gzip相似的指令选项,压缩产生 .bz2 后缀的压缩文件。

    基础格式: bzip2 [Options] file1 file2 file3
    指令选项:(默认功能为压缩)
    -c       //将输出写至标准输出  
    -d       //进行解压操作  
    -v       //输出压缩/解压的文件名和压缩比等信息  
    -k       //在压缩/解压过程中保留原文件  
    -digit     //digit部分为数字(1-9),代表压缩速度,digit越小,则压缩速度越快,但压缩效果越差,digit越大,则压缩速度越慢,压缩效果越好。默认为6.
    
    bzip2 exp1.txt exp2.txt       //分别将exp1.txt和exp2.txt压缩,且不保留原文件。
    
    bzip2 -dv exp1.bz2       //将exp1.bz2解压,并显示压缩比等信息。
    
    bzip2 -kd exp1.bz2         //将exp1.bz2解压,并且原压缩文件exp1.bz2不会消失
    

      注:
    对应于 bzip2,可以使用 bunzip2 进行解压操作,效果类似bunzip2 -d xx

    gzip 或 bzip2 带有多个文件作为参数时,执行的操作是将各个文件独立压缩,而不是将其放在一起进行压缩。这样就无法产生类似于Windows环境下的文件夹打包压缩的效果。(gzip与bzip2也可以使用文件夹作为参数,使用 -f 选项,但也是将其中的每个文件独立压缩)。为了实现打包压缩的效果,可以使用命令 tar 进行文件的打包操作(archive),再进行压缩。####

    tar 指令可以将文件打包成文件档案(archive)存储在磁盘/磁带中,打包操作一般伴随压缩操作,也可以使用 tar 指令对打包压缩后的文件解压。

    基本格式:tar [Options] file_archive  //注意tar的第一参数必须为命令选项,即不能直接接待处理文件
      常用命令参数:
      //指定tar进行的操作,以下三个选项不能出现在同一条命令中
      -c        //创建一个新的打包文件(archive)
      -x        //对打包文件(archive)进行解压操作
      -t        //查看打包文件(archive)的内容,主要是构成打包文件(archive)的文件名
    
      //指定支持的压缩/解压方式,操作取决于前面的参数,若为创建(-c),则进行压缩,若为解压(-x),则进行解压,不加下列参数时,则为单纯的打包操作
      -z        //使用gzip进行压缩/解压,一般使用.tar.gz后缀
      -j        //使用bzip2进行压缩/解压,一般使用.tar.bz2后缀
    
      //指定tar指令使用的文件,若没有压缩操作,则以.tar作为后缀
      -f filename   //-f后面接操作使用的文件,用空格隔开,且中间不能有其他参数,推荐放在参数集最后或单独作为参数
             //文件作用取决于前面的参数,若为创建(-c),则-f后为创建的文件的名字(路径),若为(-x/t),则-f后为待解压/查看的打包压缩文件名
    
      //其他辅助选项
      -v        //详细显示正在处理的文件名
      -C Dir      //将解压文件放置在 -C 指定的目录下
      -p(小写)     //保留文件的权限和属性,在备份文件时较有用
      -P(大写)     //保留原文件的绝对路径,即不会拿掉文件路径开始的根目录,则在还原时会覆盖对应路径上的内容
      --exclude=file //排除不进行打包的文件
    
    压缩: 
    tar -cvjpf etc.tar.bz2 /etc  //-c为创建一个打包文件,相应的-f后面接创建的文件的名称,使用了.tar.bz2后缀,-j标志使用bzip2压缩,最后面为具体的操作对象/etc目录
     
    查看:
    j选项,-v会显示详细的权限信息
    
    解压
    tar -xvjf etc.tar.bz2     //-x为解压操作,则-f指定的是解压使用的文件,文件后缀显示使用bzip2进行压缩,所以加入-j选项,即使用bzip2解压
                         //若只解压指定打包文件中的一个文件,在上述指令的最后加上待解压文件名作为参数即可
    

    注:
    tar -cvf xx.tar.gz xxx 常用压缩指令
    tar -xvf xx.tar.gz 常用解压指令

  • 相关阅读:
    leetcode 279. Perfect Squares
    leetcode 546. Remove Boxes
    leetcode 312. Burst Balloons
    leetcode 160. Intersection of Two Linked Lists
    leetcode 55. Jump Game
    剑指offer 滑动窗口的最大值
    剑指offer 剪绳子
    剑指offer 字符流中第一个不重复的字符
    leetcode 673. Number of Longest Increasing Subsequence
    leetcode 75. Sort Colors (荷兰三色旗问题)
  • 原文地址:https://www.cnblogs.com/cuiyf/p/10209363.html
Copyright © 2011-2022 走看看