tar命令
时间:2015-01-18 01:51 来源:linux.it.net.cn 作者:IT
tar是linux下很重要一个命令,可以进行对文件或者目录进行压缩,打包.
tar命令的参数非常多。我这里总结下常用的参数和一些组合应用技巧.
tar参数项与参数:
-
-c :创建打包文件,可搭配 -v 来察看过程中被打包的档名(filename)
-
-t :察看打包文件的内容含有哪些档名,重点在察看『档名』就是了;
-
-x :解打包或解压缩的功能,可以搭配 -C (大写) 在特定目录解开
-
特别留意的是, -c, -t, -x 不可同时出现在一串命令列中。
-
-j :透过 bzip2 的支持进行压缩/解压缩:此时档名最好为 *.tar.bz2
-
-z :透过 gzip 的支持进行压缩/解压缩:此时档名最好为 *.tar.gz
-
-v :在压缩/解压缩的过程中,将正在处理的档名显示出来!
-
-f filename:-f 后面要立刻接要被处理的档名!建议 -f 单独写一个选项罗!
-
-C 目录 :这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。
-
–newer :一般用作备份,比什么文件新
-
–exclude: 除了什么文件或者目录不包含
其他后续练习会使用到的选项介绍:
-
-p :保留备份数据的原本权限与属性,常用於备份(-c)重要的配置档
-
-P :保留绝对路径,亦即允许备份数据中含有根目录存在之意;
-
–exclude=FILE:在压缩的过程中,不要将 FILE 打包!
1
2
3
4
5
6
7
8
tar -jcv -f backup.tar.bz2 ./ #把当前目录打包成backup.tar.bz2 ,j参数一般打包并且压缩成bz2各式
tar -zcv -f backup.tar.gz ./ #把当前目录打包成backup.tar.gz ,z参数一般打开并且压缩成gz各式
#如果只打包不压缩可以不加j或者z参数
tar -cv -f backup.tar ./ #将当前目录进行打包.(大小是各个文件的总和)
#下面是压缩和不压缩的对比
-rw-r--r-- 1 zhuzhenyu admin 18944 8 11 21:44 back.tar
-rw-r--r-- 1 zhuzhenyu admin 3866 8 11 21:45 back.tar.bz2
#查看包内容
查看bz2下面的包内容
1
2
3
4
5
6
7
8
9
10
11
tar -jtv -f backup.tar.bz2
~/workspace/vpn: tar -jtv -f ./back.tar.bz2
drwxr-xr-x 0 zhuzhenyu admin 0 8 11 21:45 ./
-rw-r--r-- 0 zhuzhenyu admin 120 8 6 23:29 ./._.DS_Store
-rw-r--r-- 0 zhuzhenyu admin 6148 8 6 23:29 ./.DS_Store
-rw-r--r-- 0 zhuzhenyu admin 18944 8 11 21:44 ./back.tar
-rw-r--r-- 0 zhuzhenyu staff 376 7 27 12:09 ./._centos6_pptpd.sh
-rw-r--r-- 0 zhuzhenyu staff 1296 7 27 12:09 ./centos6_pptpd.sh
-rw-r--r-- 0 zhuzhenyu admin 1267 7 30 01:47 ./index.html
-rw-r--r-- 0 zhuzhenyu admin 1328 7 31 23:41 ./pp.py
-rw-r--r-- 0 zhuzhenyu admin 1240 7 30 00:46 ./vpn.py
查看打包内容
1
2
3
4
5
6
7
8
tar -tv -f backup.tar
#解压缩
#解压缩到当前目录
tar -jxv -f backup.tar.bz2
#解压缩到指定目录
tar -jxv -f backup.tar.bz2 -C /tmp
高级技巧
只解压包内的某一个文件
首先查看
1
2
3
4
5
6
7
8
9
10
tar -jtv -f backup.tar.bz2
~/workspace/vpn: tar -jtv -f ./back.tar.bz2
drwxr-xr-x 0 zhuzhenyu admin 0 8 11 21:45 ./
-rw-r--r-- 0 zhuzhenyu admin 120 8 6 23:29 ./._.DS_Store
-rw-r--r-- 0 zhuzhenyu admin 6148 8 6 23:29 ./.DS_Store
-rw-r--r-- 0 zhuzhenyu admin 18944 8 11 21:44 ./back.tar
-rw-r--r-- 0 zhuzhenyu staff 376 7 27 12:09 ./._centos6_pptpd.sh
-rw-r--r-- 0 zhuzhenyu staff 1296 7 27 12:09 ./centos6_pptpd.sh
这里只解压缩centos6_pptpd.sh文件,
tar -jxv -f backup.tar.bz2 ./centos.pptpd.sh
打包一个文件除了某后缀或者某个子目录的不打包
1
2
#打包./order目录,除了order下面的modules不打包
tar -jcv -f backup.tar.bz2 --exclude=./order/models* ./order/
利用tar命令进行增量备份文件
–newer
–newer-ctime
–newer-mtime
打包比/etc/passwd新的/etc下文件
1
tar -jcv -f backup_new.tar.bz2 --newer-mtime='/etc/passwd' /etc
(责任编辑:IT)
tar是linux下很重要一个命令,可以进行对文件或者目录进行压缩,打包.
其他后续练习会使用到的选项介绍:
#查看包内容
查看打包内容
高级技巧
打包一个文件除了某后缀或者某个子目录的不打包
利用tar命令进行增量备份文件 打包比/etc/passwd新的/etc下文件
(责任编辑:IT) |