Chinaunix首页 | 论坛 | 博客
  • 博客访问: 543313
  • 博文数量: 119
  • 博客积分: 3167
  • 博客等级: 中校
  • 技术积分: 1215
  • 用 户 组: 普通用户
  • 注册时间: 2005-12-20 21:21
文章分类

全部博文(119)

文章存档

2015年(21)

2012年(4)

2011年(1)

2007年(11)

2006年(50)

2005年(32)

分类: LINUX

2006-01-14 02:21:32

tar的用法:


察看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
#证明恢复成功
 
有个问题 不理解 ????

# 发现tar包里面怎么会有多个相同一个文件
shell > tar -zcvf bak.tar.gz `rpm -ql httpd-2.0.50-1.0`

shell > zcat bak2.tar.gz | tar -t | grep "etc/httpd/conf.d/README"
etc/httpd/conf.d/README
etc/httpd/conf.d/README
etc/httpd/conf.d/README
# 上面的输出有3个相同的文件
# 打包的文件是按rpm -ql输出来的, 却只有一个啊
rpm -ql httpd-2.0.50-1.0 | grep "etc/httpd/conf.d/README"
/etc/httpd/conf.d/README

使用sort | uniq -c 也可以看到相同的问题

一步一步来来
shell > rpm -ql httpd-2.0.50-1.0 > temp
shell > tar -T temp -cvf bak.tar
shell > tar -tf bak.tar | grep "etc/httpd/conf.d/README"
etc/httpd/conf.d/README
etc/httpd/conf.d/README
etc/httpd/conf.d/README
    为什么 会有相同的呢

阅读(4660) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~