Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2048025
  • 博文数量: 354
  • 博客积分: 4955
  • 博客等级: 上校
  • 技术积分: 4579
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-21 11:46
文章分类

全部博文(354)

文章存档

2015年(1)

2013年(4)

2012年(86)

2011年(115)

2010年(67)

2009年(81)

我的朋友

分类:

2011-07-20 17:25:46

察看tar文件里面的内容
tar -tf *.tar
zcat *.tar.gz | tar -t
bzcat *.tar.bz | tar -t

使用tar进行复制 当前目录复制到其他目录
tar cvf - *|(cd /tmp/sh1; tar xvf -)

第一个"-"是标准输出
第二个"-"是标准输入
* 代表当前目录下所有文件

tar进行分卷打包
打包 tar -cvf test.tar test|split -b 1024
解包 cat xa[a-z]|tar xvf -

tar -cvf test.tar test|split -b 1024
这样 目录下就会生成多个小文件 默认为xaa 到xaz

多文件剔除某个文件来进行tar

剔除多个文件:
tar --exclude run.log --exclude run_bad.log --exclude run_erro.log -cvf target.tar *
也可以剔除目录
tar --exclude yida -cvf home.tar /home
但是 凡是叫yida的文件 目录都被剔除掉了
mkdir /home/test/yida
使用上面命令的时候 这个目录也会被剔除掉


tar /home 后保留用户属主和属性(使用参数 -p 小写)
-p --same-permissions, --preserve-permissions
redhat下面 不需要用这个参数也可以保存权限
tar cvpf
tar xvpf
 
tar 使用绝对路径
tar 默认使用的是相对路径, 如果要使用绝对路径使用参数 -P 大写
必须要在打包的时候使用P , 如果打包时没有使用P , 那么使用的是相对路径打包, 即使解包时使用-P参数也没有作用
解包时也要带P这个参数  否则使用的是相对路径 解压到当前目录
 
例如
对httpd的rpm 包进行备份
# 进行打包 保存权限 使用绝对路径
shell > tar -zPpcvf bak.tar.gz `rpm -ql httpd-2.0.50-1.0`
# 删除一个文件 留待会儿测试
shell > rm -f /var/www/icons/world2.png
shell > ls /var/www/icons/world2.png
ls: /var/www/icons/world2.png: No such file or directory
# 使用tar解包恢复 保存权限 使用绝对路径 
shell > tar -zPpxvf bak.tar.gz
shell > ls /var/www/icons/world2.png
/var/www/icons/world2.png
#证明恢复成功
 
阅读(1416) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~