语法
tar (选项) (参数)bash
选项
-A或–catenate:新增文件到以存在的备份文件;
-B:设置区块大小;
-c或–create:创建新的备份文件;
-C :这个选项用在解压缩,若要在特定目录解压缩,能够使用这个选项。
-d:记录文件的差异;
-x或–extract或–get:从备份文件中还原文件;
-t或–list:列出备份文件的内容;
-z或–gzip或–ungzip:经过gzip指令处理备份文件;
-Z或–compress或–uncompress:经过compress指令处理备份文件;
-f或–file=:指定备份文件;
-v或–verbose:显示指令执行过程;
-r:添加文件到已经压缩的文件;
-u:添加改变了和现有的文件到已经存在的压缩文件;
-j:支持bzip2解压文件;
-v:显示操做过程;
-l:文件系统边界设置;
-k:保留原有文件不覆盖;
-m:保留文件不被覆盖;
-w:确认压缩文件的正确性;
-p或–same-permissions:用原来的文件权限还原文件;
-P或–absolute-names:文件名使用绝对名称,不移除文件名称前的“/”号;
-N 或 –newer=:只将较指定日期更新的文件保存到备份文件里;
–exclude=:排除符合范本样式的文件。
实例
将文件所有打包成tar包
[root@sxooky test]# tar cf script.tar catpv.sh diffbase.sh #仅打包,不压缩!
[root@sxooky test]# tar zcf script2.tar.gz catpv.sh diffbase.sh #打包后,以 gzip 压缩
[root@sxooky test]# tar jcf script3.tar.bz2 catpv.sh diffbase.sh #打包后,以 bzip2 压缩
[root@sxooky test]# ll script*
-rw-r--r-- 1 root root 1398 Mar 31 15:23 script2.tar.gz
-rw-r--r-- 1 root root 1515 Mar 31 15:23 script3.tar.bz2
-rw-r--r-- 1 root root 10240 Mar 31 15:23 script.tar
在选项f以后的文件档名是本身取的,咱们习惯上都用 .tar 来做为辨识。spa
若是加z选项,则以.tar.gz或.tgz来表明gzip压缩过的tar包;code
若是加j选项,则以.tar.bz2来做为tar包名。ip
查看包中文件
[root@sxooky test]# tar tf script3.tar.bz2
catpv.sh
diffbase.sh
解压文件
[root@sxooky test]# mkdir test_tar test2_tar
[root@sxooky test]# tar xf script2.tar.gz -C test_tar/ #解压所有文件
[root@sxooky test]# tar xf script2.tar.gz -C test2_tar/ catpv.sh #解压指定文件
[root@sxooky test]# ll test*
test2_tar:
total 4
-rw-r--r-- 1 root root 874 Mar 24 17:35 catpv.sh
test_tar:
total 8
-rw-r--r-- 1 root root 874 Mar 24 17:35 catpv.sh
-rw-r--r-- 1 root root 1699 Mar 15 13:50 diffbase.sh
[root@sxooky test]# tar tf script3.tar.bz2
catpv.sh
diffbase.sh
在文件夹当中,比某个日期新的文件才备份
tar -N "2012/11/13" -zcvf log17.tar.gz test
备份文件夹内容是排除部分文件
tar --exclude scf/service -zcvf scf.tar.gz scf/*
其实最简单的使用 tar 就只要记忆底下的方式便可
压 缩:tar -jcv -f filename.tar.bz2 要被压缩的文件或目录名称
查 询:tar -jtv -f filename.tar.bz2
解压缩:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录