zoukankan      html  css  js  c++  java
  • Linux文件压缩/打包/解压

        在Linux日常维护中,经常需要备份同步一些比较重要的文件,而在传输过程中如果文件比较大往往会非常慢,而且还会非常占用空间,这时候就需要我们使用压缩工具对大文件进行压缩打包,下面我们来介绍一下常用的压缩工具以及其使用方法。

    1.命令: gzip [-d][-1-9][filename]
      作用:用来压缩文件,不能直接压缩目录,压缩完毕后源文件消失
        ‘-d’      解压
        ‘-[1-9]’  压缩等级(默认为6)
      
      若想查看gzip压缩文件内容,可使用命令
      zcat filename.gz

        补充:
          '-c' 指定路径
        示例:
          压缩:gzip -c 1.txt > /tmp/1.txt.gz
          解压:gzip -d -c 1.txt.gz > /tmp/1.txt
               gunzip -c 1.txt.gz > /tmp/1.txt

        注意:以上命令解压/压缩完后源文件不会被删除

    
    
    2.命令: bzip2 [-d][-1-9][filename]
      作用:用来压缩文件,不能直接压缩目录,压缩完毕后源文件消失
        ‘-d’      解压
        ‘-[1-9]’  压缩等级(默认为9)
      
      若想查看bzip2压缩文件内容,可使用命令
      bzcat filename.bz2

       补充:
       bzip2也支持-c选项,也是压缩后源文件不会被删除

     
    3.命令: xz [-d][-1-9][filename]
      作用:用来压缩文件,不能直接压缩目录,压缩完毕后源文件消失
        ‘-d’      解压
        ‘-[1-9]’  压缩等级(默认为6)
      
      若想查看xz压缩文件内容,可使用命令
      xzcat filename.xz

        其实,上述三个压缩命令并不常用,因为有更为强大的tar工具用以实现压缩的功能,到底有多强大呢,下面就来介绍工具tar

    4.命令:tar  [-zxcvf]
      ‘-z’ 是否同时具有gzip
      ‘-j’ 是否同时具有bzip2
      ‘-J’ 是否透视具有xzip
      ‘-x’ 解开一个压缩文件
      ‘-t’ 查看压缩包里面的文件
      ‘-c’ 建立一个压缩文件
      ‘-v’ 可视化
      ‘-f’ 使用filename
      ‘--exclude filename’ 在压缩过程中,跳过filename不打包
      ‘-C’ 指定解压目录(常用)
      '-t' 用来查看压缩包里面的内容
      
      用法:用以压缩解压文件/目录
      格式:
        压缩时:tar zxvf test.tar.gz test ,即 tar [被压缩完后的文件][没被压缩时的文件]这非常重要!
        解压时:tar zcvf test.tar.gz -C /tmp ,不用参数‘-C’的情况下是解压到当前目录,'-C'指定解压目录
        压缩时排除多个文件:tar zxvf test.tar.gz --exclude 1.txt --exclude 2.txt test ,也就是tar [被压缩完的文件] [要排除的文件][没被压缩时的文件]
      
      注意:
        (1使用tar打包之后,绝对路径前面的/会去掉(仔细想想为什么会酱紫)2tar本身不具有压缩功能,只是进行打包而已,要使用压缩功能必须与gzip或bzip2一起使用,其默认压缩级别取决于gzip或bzip2的默认压缩级别。
             要改变压缩级别,需要将打包和压缩分开进行,先用tar进行打包,然后用gzip或bzip2指定压缩级别对打包文件进行压缩。例如,
               tar -cvf FILE.tar FILE && gzip -9 FILE.tar
               tar -cvf FILE.tar FILE && bzip2 -6 FILE.tar
    拓展用法:
        tar cvf  -  test| ssh 10.0.1.11 "cd /copy1/; tar xvf  -"
      命令解析:
        还记得上面说的压缩时候的格式么,这条命令在管道‘|’之前那部分就是如此
        ‘-’代表标准输出
        因此tar cvf  -  test意为“将test的内容打包成标准输出”
        而  tar xvf  - 则意为“将上面的标准输出的内容解压到当前目录”
        至于ssh部分请参考之前关于ssh的文章,这里不作详细描述
      命令作用:
        这条命令非常实用,用于实现通过网络拷贝数据

        说完了tar,问一个背景吧,你知道在windows下常见的压缩包有rar和zip,默认rar在linux下是不支持压缩和解压吗,好在有相关的工具可以安装在linux平台上。而zip的压缩包是可以同时存在于linux平台和windows平台上的,因此,我们来看一下zip和/unzip命令。

    5.命令:zip  [-r][filename.zip][filename]
      作用:用来压缩文件/目录
        ‘-r’  默认不支持直接压缩目录,需要用此参数
      
      注意:zip压缩的格式类似与tar,都是压缩后,压缩前
      
      命令:unzip [-ld] [file.zip]
      作用:解压zip文件,且解压完毕后文件不会消失
       ‘-l’  查看文件清单,类似于tar的-t
       ‘-d’  指定解压目录,类似于tar的-C

    最后更新时间:2017年4月7日09:31:43

  • 相关阅读:
    fmt:formatNumber use locale display negative currency in -$xxx.xx format in JSTL
    Order By 问题集合
    Order By 问题集合
    mybatis异常invalid comparison: java.util.Date and java.lang.String
    mybatis异常invalid comparison: java.util.Date and java.lang.String
    requestLayout, invalidate和postInvalidate的异同
    如何关闭打开了多个activity的activity
    关于handler的再次讨论
    Android中pull解析XML文件的简单使用
    使用广播退出打开了多个activity的程序
  • 原文地址:https://www.cnblogs.com/ImJerryChan/p/6026998.html
Copyright © 2011-2022 走看看