免费注册 查看新帖 |

Chinaunix

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

[新手入门] pax的最酷选项 [复制链接]

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-12-21 09:31 |只看该作者 |倒序浏览
    loveunix最近在讨论pax、tar等备份命令的差别。拉风提到pax有将绝对路径转为相对路径的能力。在网上搜了搜,找到两点:
1、pax不仅可以处理pax文件,而且可以处理tar文件
2、pax 最酷的功能是其-s 选项,允许在向存档写文件、从存档提取文件或列举其中的
文件时发出文件名消息。它以ed 或sed 中使用的替换命令作为参数(通常需要包含
在单引号中),表明如何对文件名进行转换。例如,下面的命令在从存档读取文件时,
把每个文件的第二级目录名chavez 更改为harvey,改变它们在磁盘上的目标位置:
$ pax -r -s ',^/home/chavez/,/home/harvey/,' \
-f /dev/rmt0 /home/chavez
    早上来公司迫不及待地试了一下,两点都得到验证。过程如下:
08:59:35
[email=root@VIOC:[/test]#ls]root@VIOC:[/test]#ls[/email]
-l
total 27072
-rw-r--r--   1 root     system         3805 Dec 19 10:44 .toc
-rw-r-----   1 root     system     13854720 Dec 19 10:43 bos.sysmgt
08:59:38
[email=root@VIOC:[/test]#tar]root@VIOC:[/test]#tar[/email]
-cvf /test.tar /test
a /test
a /test/bos.sysmgt 27060 blocks.
a /test/.toc 8 blocks.
08:59:53
[email=root@VIOC:[/test]#mkdir]root@VIOC:[/test]#mkdir[/email]
test2
09:00:00
[email=root@VIOC:[/test]#cd]root@VIOC:[/test]#cd[/email]
test2
09:00:03
[email=root@VIOC:[/test/test2]#pax]root@VIOC:[/test/test2]#pax[/email]
-s:/.*/:./: -rvf /test.tar
USTAR format archive
/test
./bos.sysmgt
./.toc
09:00:10
[email=root@VIOC:[/test/test2]#ls]root@VIOC:[/test/test2]#ls[/email]
-l
total 27080
-rw-r--r--   1 root     system         3805 Dec 19 10:44 .toc
-rw-r-----   1 root     system     13854720 Dec 19 10:43 bos.sysmgt
09:00:15
[email=root@VIOC:[/test/test2]root@VIOC:[/test/test2[/email]
]#
    又想到,如果在tar的时候源目录里包含子目录会怎么样呢?根据需要,灵活地改一下-s:/.*/:./:就可以了。过程如下:
09:02:16
[email=root@VIOC:[/test/test2]#touch]root@VIOC:[/test/test2]#touch[/email]
a b c
09:14:08
[email=root@VIOC:[/test/test2]#tar]root@VIOC:[/test/test2]#tar[/email]
-cvf /test.tar /test
a /test
a /test/bos.sysmgt 27060 blocks.
a /test/.toc 8 blocks.
a /test/test2
a /test/test2/bos.sysmgt 27060 blocks.
a /test/test2/.toc 8 blocks.
a /test/test2/a 0 blocks.
a /test/test2/b 0 blocks.
a /test/test2/c 0 blocks.
09:14:21
[email=root@VIOC:[/test/test2]#mkdir]root@VIOC:[/test/test2]#mkdir[/email]
test3
09:14:28
[email=root@VIOC:[/test/test2]#cd]root@VIOC:[/test/test2]#cd[/email]
test3
09:14:31
[email=root@VIOC:[/test/test2/test3]#pax]root@VIOC:[/test/test2/test3]#pax[/email]
-s:/.*/:./: -rvf /test.tar
USTAR format archive
/test
./bos.sysmgt
./.toc
./test2
./bos.sysmgt
./.toc
./a
./b
./c
09:14:39
[email=root@VIOC:[/test/test2/test3]#ls]root@VIOC:[/test/test2/test3]#ls[/email]
-l
total 27080
-rw-r--r--   1 root     system         3805 Dec 19 10:44 .toc
-rw-r--r--   1 root     system            0 Dec 21 09:14 a
-rw-r--r--   1 root     system            0 Dec 21 09:14 b
-rw-r-----   1 root     system     13854720 Dec 19 10:43 bos.sysmgt
-rw-r--r--   1 root     system            0 Dec 21 09:14 c
drwxr-xr-x   2 root     system          256 Dec 21 09:14 test2
09:14:42
[email=root@VIOC:[/test/test2/test3]#cd]root@VIOC:[/test/test2/test3]#cd[/email]
test2
09:14:52
[email=root@VIOC:[/test/test2/test3/test2]#ls]root@VIOC:[/test/test2/test3/test2]#ls[/email]
09:14:53
[email=root@VIOC:[/test/test2/test3/test2]#cd]root@VIOC:[/test/test2/test3/test2]#cd[/email]
..
09:15:33
[email=root@VIOC:[/test/test2/test3]#cd]root@VIOC:[/test/test2/test3]#cd[/email]
..
09:15:35
[email=root@VIOC:[/test/test2]#rm]root@VIOC:[/test/test2]#rm[/email]
-r *
09:15:40
[email=root@VIOC:[/test/test2]#mkdir]root@VIOC:[/test/test2]#mkdir[/email]
test3
09:15:44
[email=root@VIOC:[/test/test2]#cd]root@VIOC:[/test/test2]#cd[/email]
test3
09:15:47
[email=root@VIOC:[/test/test2/test3]#pax]root@VIOC:[/test/test2/test3]#pax[/email]
-s:/:./: -rvf /test.tar
USTAR format archive
./test
./test/bos.sysmgt
./test/.toc
./test/test2
./test/test2/bos.sysmgt
./test/test2/.toc
./test/test2/a
./test/test2/b
./test/test2/c
09:16:10
[email=root@VIOC:[/test/test2/test3]#ls]root@VIOC:[/test/test2/test3]#ls[/email]
-l
total 0
drwxr-xr-x   3 root     system          256 Dec 21 08:59 test
09:16:16
[email=root@VIOC:[/test/test2/test3]#find]root@VIOC:[/test/test2/test3]#find[/email]
. -ls
12288    0 drwxr-xr-x  3 root      system         256 Dec 21 09:16 .
12352    0 drwxr-xr-x  3 root      system         256 Dec 21 08:59 ./test
12353 13532 -rw-r-----  1 root      system    13854720 Dec 19 10:43 ./test/bos.sysmgt
12354    4 -rw-r--r--  1 root      system        3805 Dec 19 10:44 ./test/.toc
12289    0 drwxr-xr-x  2 root      system         256 Dec 21 09:14 ./test/test2
12290 13532 -rw-r-----  1 root      system    13854720 Dec 19 10:43 ./test/test2/bos.sysmgt
12291    4 -rw-r--r--  1 root      system        3805 Dec 19 10:44 ./test/test2/.toc
12292    0 -rw-r--r--  1 root      system           0 Dec 21 09:14 ./test/test2/a
12293    0 -rw-r--r--  1 root      system           0 Dec 21 09:14 ./test/test2/b
12294    0 -rw-r--r--  1 root      system           0 Dec 21 09:14 ./test/test2/c
09:16:26
[email=root@VIOC:[/test/test2/test3]root@VIOC:[/test/test2/test3[/email]
]#

    小结:-s的确是pax最酷的选项,如果谁用tar打包文件时忘了用相对路径,那pax可以帮他一个忙。不过谁用tar打包时,会用绝对路径呢?

========================================================================
任何形式的转载,请写明出处:
email:
beginner@yeah.net
blog:
http://blog.chinaunix.net/index.php?blogId=739
   
http://www.cublog.cn/u/739/
========================================================================


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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP