免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1611 | 回复: 0
打印 上一主题 下一主题

[新手入门] 对tar包再实施一次tar操作 [复制链接]

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-05-16 16:38 |只看该作者 |倒序浏览

1、  当前目录为/solaris,新建目录dir
2、  在dirt下新建文件sun,并随意编辑,再新建目录dir1,并在dir1目录下新建文件sunshine,并随意编辑
F50:[/solaris]#mkdir dir
F50:[/solaris]#cd dir
F50:[/solaris/dir]#touch sun
F50:[/solaris/dir]#vi sun
F50:[/solaris/dir]#mkdir dir1
F50:[/solaris/dir]#ls
dir1  sun
F50:[/solaris/dir]#cd dir1
F50:[/solaris/dir/dir1]#ls
F50:[/solaris/dir/dir1]#touch sunshine
F50:[/solaris/dir/dir1]#vi sunshine
3、  在/solaris目录下,将dir目录tar包
F50:[/solaris]#tar -cvf dir.tar dir
a dir
a dir/sun 1 blocks.
a dir/dir1
a dir/dir1/sunshine 1 blocks.
4、在当前目录下,再将dir.tar包tar一次,但新tar包文件名与旧包不同
F50:[/solaris]#tar -cvf dir1.tar dir.tar
a dir.tar 20 blocks.
5、删除dir目录下所有文件以及dir.tar包
F50:[/solaris]#rm dir.tar
F50:[/solaris/dir]#rm -r *
F50:[/solaris/dir]#ls

6、使用dir1.tar恢复
F50:[/solaris]#tar -xvf dir1.tar
x dir.tar, 10240 bytes, 20 media blocks.
F50:[/solaris]#ls
dir                                dir.tar                           
dir1.tar                           lost+found                        
F50:[/solaris]#tar -xvf dir.tar
x dir
x dir/sun, 16 bytes, 1 media blocks.
x dir/dir1
x dir/dir1/sunshine, 10 bytes, 1 media blocks.
F50:[/solaris]#cd dir
F50:[/solaris/dir]#ls
dir1  sun
F50:[/solaris/dir]#cd dir1
F50:[/solaris/dir/dir1]#ls
Sunshine

7、再次对dir.tar包进行tar操作,但tar包名不变
F50:[/solaris]#tar -cvf dir.tar dir.tar
a dir.tar 0 blocks.

8、删除dir目录下所有文件,并试图使用dir.tar包恢复
F50:[/solaris]#tar -xvf dir.tar
x dir.tar, 0 bytes, 0 media blocks.
F50:[/solaris]#ls
dir                                dir.tar                           
dir1.tar                           lost+found                       
F50:[/solaris]#tar -xvf dir.tar
tar: Unexpected end-of-file while reading from the storage media.
F50:[/solaris]#tar -xvf dir.tar
tar: Unexpected end-of-file while reading from the storage media.

结果不能恢复。
只好再次使用dir1.tar包恢复

9、使用dir1.tar恢复后,solaris目录下情况如下:
F50:[/solaris]#ls
dir                                dir.tar(由dir1恢复)                          
dir1.tar                           lost+found

10、再次将dir.tar包tar一次,但tar包路径名改变,tar包名不变如下:
F50:[/solaris]#tar -cvf /solaris/dir/dir.tar dir.tar
a dir.tar 20 blocks.
将新tar包dir.tar tar在/solaris/dir目录下,即新包与旧包不在一个目录下,这点很关键

11、删除dir目录下所有文件,注意不要删除dir.tar文件
F50:[/solaris/dir]#ls
dir.tar  dir1     sun
F50:[/solaris/dir]#rm -r dir1
F50:[/solaris/dir]#rm sun
F50:[/solaris/dir]#ls
dir.tar
F50:[/solaris/dir]#cd ..
F50:[/solaris]#rm dir.tar
F50:[/solaris]#ls
dir                               dir1.tar                           
lost+found                        
F50:[/solaris]#cd dir
F50:[/solaris/dir]#tar -xvf dir.tar
x dir.tar, 10240 bytes, 20 media blocks.
x dir
x dir/sun, 16 bytes, 1 media blocks.
x dir/dir1
x dir/dir1/sunshine, 10 bytes, 1 media blocks.
但是注意相对路径的问题。

另一个例子:
F50:[/solaris]#mkdir dir2
F50:[/solaris]#cd dir2
F50:[/solaris/dir2]#ls
F50:[/solaris/dir2]#cd ..
F50:[/solaris]#ls
dir                                dir.tar                           
dir1.tar                             dir2                              
lost+found                        
F50:[/solaris]#cd dir2
F50:[/solaris/dir2]#tar -cvf dir.tar ../dir.tar  在新目录中tar包
a ../dir.tar 20 blocks.
F50:[/solaris/dir2]#ls
dir.tar
F50:[/solaris/dir2]#cd ..
F50:[/solaris]#rm dir.tar
F50:[/solaris]#cd dir
F50:[/solaris/dir]#ls
dir1  sun
F50:[/solaris/dir]#rm -r *
F50:[/solaris/dir]#ls
F50:[/solaris/dir]#cd ..
F50:[/solaris]#cd dir2
F50:[/solaris/dir2]#ls
dir.tar
F50:[/solaris/dir2]#tar -xvf dir.tar
x ../dir.tar, 10240 bytes, 20 media blocks.
F50:[/solaris/dir2]#cd ..
F50:[/solaris]#ls
dir                                dir.tar                          
dir1.tar                            dir2                              
lost+found                        
F50:[/solaris]#tar -xvf dir.tar
x dir
x dir/sun, 16 bytes, 1 media blocks.
x dir/dir1
x dir/dir1/sunshine, 10 bytes, 1 media blocks.
F50:[/solaris]#


总结:如果在同一目录下,新建的tar包名不能与原tar包名相同
      在不同目录下,包名可以相同,但最好注意下相对路径的问题
另外:Tar包名与tar包中的文件名没有任何关系
最后提醒 在对一个tar包再次实施tar的情况下,一定要小心。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/16252/showart_113496.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP