- 论坛徽章:
- 1
|
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 |
|