tar 命令的使用

tar [-j|-z] [cv] [-f 创建的档名] filename... <==打包与压缩
tar [-j|-z] [tv] [-f 创建的档名]             <==察看档名
tar [-j|-z] [xv] [-f 创建的档名] [-C 目录]   <==解压缩选项与参数:

-c  :创建打包文件,可搭配 -v 来察看过程中被打包的档名(filename)
-t  :察看打包文件的内容含有哪些档名,重点在察看『档名』就是了;
-x  :解打包或解压缩的功能,可以搭配 -C (大写) 在特定目录解开
      特别留意的是, -c, -t, -x 不可同时出现在一串命令列中。
-j  :透过 bzip2 的支持进行压缩/解压缩:此时档名最好为 *.tar.bz2
-z  :透过 gzip  的支持进行压缩/解压缩:此时档名最好为 *.tar.gz
-v  :在压缩/解压缩的过程中,将正在处理的档名显示出来!
-f filename:-f 后面要立刻接要被处理的档名!建议 -f 单独写一个选项罗!
-C 目录    :这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。

-p  :保留备份数据的原本权限与属性,常用於备份(-c)重要的配置档
-P  :保留绝对路径,亦即允许备份数据中含有根目录存在之意;
--exclude=FILE:在压缩的过程中,不要将 FILE 打包!


压 缩:tar -jcv -f filename.tar.bz2 要被压缩的文件或目录名称
查 询:tar -jtv -f filename.tar.bz2
解压缩:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录  



使用 tar 加入 -j 或 -z 的参数备份 /etc/ 目录

tar -zpcv -f /root/etc.tar.gz /etc
tar: Removing leading `/' from member names  <==注意这个警告信息
至於 -p 的选项,重点在於『保留原本文件的权限与属性』之意。
-j 的结果要比 -z的结果稍微小一点

仅解开单一文件的方法

tar -jtv -f /root/etc.tar.bz2 | grep 'shadow'
-r-------- root/root  1230 2008-09-29 02:21:20 etc/shadow-
-r-------- root/root   622 2008-09-29 02:21:20 etc/gshadow-
-r-------- root/root   636 2008-09-29 02:21:25 etc/gshadow
-r-------- root/root  1257 2008-09-29 02:21:25 etc/shadow  <==这是我们要的!
# 先搜寻重要的档名!其中那个 grep 是关键字的功能!
# 这里您先有个概念即可!那个管线 | 配合 grep
[root@www ~]# tar -jxv -f 打包档.tar.bz2 待解开档名
[root@www ~]# tar -jxv -f /root/etc.tar.bz2 etc/shadowetc/shadow
[root@www ~]# ll etctotal 8
-r-------- 1 root root 1257 Sep 29 02:21 shadow  <==只有一个文件啦!

打包某目录,但不含该目录下的某些文件之作法

 tar -jcv  -f /root/system.tar.bz2 --exclude=/root/etc* 
 \> --exclude=/root/system.tar.bz2  /etc /root
posted @ 2021-01-14 13:58  岁月倾城CTO  阅读(117)  评论(0编辑  收藏  举报