zoukankan      html  css  js  c++  java
  • 攻城狮在路上(叁)Linux(二十八)--- 打包命令:tar

    首先介绍一下tar打包命令的基本格式,下面的三种之间不能混淆。

      tar [-j|-z] [cv] [-f 新文件名] file1 file2 ...; 

      tar [-j|-z] [tv] [-f 新文件名]; <== 查看文件名

      tar [-j|-z] [xv] [-f 新文件名] [-C 目录]; <== 解包

      参数说明:

        -c:新建打包文件,搭配-v来查看过程中被打包的文件名

        -t:查看打包文件的内容包含哪些文件名

        -x:解包或解压缩功能。可搭配大写C来指定解压目录

    ----------------------------------------------------------------------------------------------

        -j:通过bzip2 压缩/解压缩,推荐使用。

        -z:通过gzip压缩/解压缩。

        -v:在压缩/解压缩过程中,将正在处理的文件名显示出来。

        -f filename:

        -C 目录:指定解压目录


    一、使用tar加入-j或者-z的参数备份:

      tar -jpcv -f /root/etc.tar.bz2  /etc;

      1、加入参数-p是为了保存原文件的权限和属性。

      2、默认保存的文件名没有根目录/,目的是为了安全。否则在解压缩的时候可能会覆盖其他文件。

    二、查阅tar文件的数据内容(可查看文件名)及备份文件名有无根目录的意义:

      tar -jtv -f /root/etc.tar.bz2;

      1、可以看到显示的结果中,每个文件名都没有根目录/,这样还是为了安全起见。因为加了根目录表示的就是绝对路径,解压的时候就会出现覆盖的情况。

      2、如果确定非要添加根目录备份,使用-P(大写)参数,但是不建议这样做。

    三、解压缩,并指定目录:

      tar -jxv -f /root/etc.tar.gz;

      tar -jxv -f /root/etc.tar.gz -C /tmp;

    四、仅解压单一文件:

      tar -jtv -f /root/etc.tar.bz2 |grep 'shadow'; <== 查找,后续学习

      tar -jxt -f /root/etc.tar.bz2 etc/shadow;

      1、注意没有加-C参数。

      2、基本步骤是先找到要解压的文件,确定其文件名,这里为etc/shadow,没有根目录/.

    五、打包某目录,但不含目录下的某些文件:

      tar -jcv -f /root/etc.tar.bz2 --exclude=/root/test* /root; <== --exclude用于指定排除的文件

      上面命令的意思是将/root目录下除了以test开头的其他所有文件打包。

    六、仅备份比某个时刻还要新的文件:

      tar -jcv -f /root/etc.tar.bz2 --newer-mtime="2008/09/29" /etc/*;

    七、特殊应用:暂不了解

      tar -cv -f - /etc | tar -xv -f -;

      暂时的理解是,上面执行了2个命令,一个命令用于打包,一个用于解包,都没有使用压缩命令。打包命令未指定目标文件,解包命令没有指定原文件,也或者是两者都指定为了-.

  • 相关阅读:
    公司-科技-电商:京东
    公司-科技-协调:泛微
    公司-科技-财务:新中大
    公司-科技-财务:金蝶
    公司-科技-财务:用友
    公司-科技:SAMSUNG
    杂项-公司:华为
    “莆田系”到底是个什么玩意儿?
    Java 虚拟机是如何判定两个 Java 类是相同的?
    java类加载器是什么?
  • 原文地址:https://www.cnblogs.com/tq03/p/3925568.html
Copyright © 2011-2022 走看看