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 就只要记忆底下的方式即可:
压 缩:tar -jcv -f filename.tar.bz2 要被压缩的文件或目录名称
查 询:tar -jtv -f filename.tar.bz2
解压缩:**tar -jxv -f filename.tar.bz2 [-C 欲解压缩的目录]**(默认在当前目录)
示例:用 tar 备份 /etc/ 目录
tar -jpcv -f /root/ect.tar.bz2 /etc
示例:查看 tar 文件的数据内容
tar -jtv -f ect.tar.bz2
☞ :加上 -v 这个选项时,详细的文件权限/属性都会被列出来
仅解开单一文件
1.首先找到我们要的文件名,假设要解开 shadow 文件
[root@www ~]# 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 可以选取关键字
2.解开单个文件的语法:tar -jxv -f filename.tar.bz2 待解开文件名
[root@www ~]# tar -jxv -f /root/etc.tar.bz2 etc/shadow
打包某目录,但不含该目录下的
假设我要打包当前目录,但是我不想打包 bashrc 开头的文件,而且新打包的文件也放在当前目录中,当然这个文件自己不要打包自己,此时我们可以通过 exclude 来实现。
[root@www ~]# tar -jcv -f system.tar.bz2 –exclude=bashrc* –exclude=system.tar.bz2 .