在写一个shell脚本时遇到了原有打包的tar文件目录层次太深代码不好处理的问题 。处理代码已经写好了,需要将tar文档解压为不带原始目录。
1、tar命令
tar -xvf file.tar解压出来是带原始路径。
2、pax命令
man pax 查阅资料,看到有如下提示:
This sequence of commands will copy the entire olddir directory hierarchy to newdir.
$ pax -r -s ’,^//*usr//*,,’ -f a.pax
上面英文意思是可以用新目录替代原有目录。
改成pax如下:
pax -r -pe -s ":.*/:./20130105/:" -f 20130104.tar
--将tar压缩包里的文件解压到./20130105/目录下,不输出绝对路径
--pe带tar压缩时的用户属性
rm -rf 20130105/20130104
转载于:https://blog.51cto.com/woodwu/1138134