免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3844 | 回复: 8

使用tar打包时怎样使压缩包中没有文件的目录 [复制链接]

论坛徽章:
0
发表于 2008-11-26 15:00 |显示全部楼层
5可用积分
具体需求是这样的,在php中对/tmp/tc 这个路径下的文件打包,一般在命令行下可以cd到这个目录后运行 tar -cvf 123.tar . 就将/tmp/tc 打包成123.tar 了,但是现在是在php程序里进行打包,不是在需要打包的文件所在的目录,所以用 tar -cvf /tmp/tc/123.tar /tmp/tc/* 这样打出来的包里会有tmp、tc这样的文件夹,如果才能使包中没有这2个文件夹呢?

最佳答案

查看完整内容

建议还是保留tc目录,因为解压时如果不小心解压到当前目录,会是很麻烦的事情。如果要去掉的话可以用:tar -cvf /tmp/tc/123.tar -C /tmp/tc .

论坛徽章:
0
发表于 2008-11-26 15:00 |显示全部楼层
建议还是保留tc目录,因为解压时如果不小心解压到当前目录,会是很麻烦的事情。
如果要去掉的话可以用:tar -cvf /tmp/tc/123.tar -C /tmp/tc .
ruanxi 该用户已被删除
发表于 2008-11-26 15:27 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
ruanxi 该用户已被删除
发表于 2008-11-26 15:28 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
发表于 2008-11-26 15:46 |显示全部楼层
压缩
ls /tmp/tc| cpio -o > /opt/123.cpio

解压当前
cpio -id <  /opt/123.cpio

论坛徽章:
0
发表于 2008-11-26 17:05 |显示全部楼层
我以前用tar也出现过这样的情况,
其实你进入到需要打包的目录内,再打包文件,就不会有目录了,比如进入/tmp/tc,再打包

论坛徽章:
0
发表于 2008-11-26 22:33 |显示全部楼层
原帖由 pl_piaoling 于 2008-11-26 17:05 发表
我以前用tar也出现过这样的情况,
其实你进入到需要打包的目录内,再打包文件,就不会有目录了,比如进入/tmp/tc,再打包


不用這樣的,man 看一下,相關參數可以用的

论坛徽章:
0
发表于 2008-11-26 22:48 |显示全部楼层
tar -cvf /tmp/tc/123.tar -C /tmp/ tc
man tar:
-C, --directory DIR
       change to directory DIR
注意,最后的tc不要用*,因为*的话会被bash自动用当前目录下的文件替代的。

论坛徽章:
0
发表于 2008-11-26 22:55 |显示全部楼层
原帖由 walkerxk 于 2008-11-26 22:48 发表
tar -cvf /tmp/tc/123.tar -C /tmp/ tc
man tar:
-C, --directory DIR
       change to directory DIR
注意,最后的tc不要用*,因为*的话会被bash自动用当前目录下的文件替代的。

您这样做是可以去掉tmp目录,但是tc目录还存在,LZ的意思是tc目录也不想要。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP