为什么要用 tar 来实现 cp 功能呢?

为什么要用 tar 来实现 cp 功能呢?

最近看到一个代码:如下

mkdir temp
gtar cf - help.tar | ( cd temp ; gtar xf - )
实现的功能就是把help.tar  复制到temp目录下面;
但是我有点搞不懂了,为什么要这么操作?很奇怪
为什么不直接用cp呢?
谢谢

      
确实有点儿奇怪,具体用意可能要看上下文了

用 tar 的话可以保证 /temp/help.tar 跟原来的 help.tar 的 mtime 相同;而直接 cp 的话,temp/help.tar 的 mtime 为系统当前的时间。会不会是想保持 mtime 不变的目的呢?当然,cp 也有个选项 -p 能达到同样的目的      
tar 应该也会试图保持文件的 ownership      
tar可以保持权限, 时间等
cp -p好像时间不能全保留, 有时间我看看      
哦,好的,原来是这个意思啊,应该就是为了保持权限。
期待达人更加详细的解释,谢谢了!!!!      
最重要的还是联系上下文才能得知真正的原因, 没准就是为了耍酷呢

PS: 以后发贴请突出主题      
引用:
原帖由 dearvoid 于 2007-8-7 21:22 发表
tar 应该也会试图保持文件的 ownership
多谢各位的指导,小弟在此谢过了,因为脚本设计到公司的东西,所以也不太好贴出来。
:PS 怎么查看文件的owner呢?时间好像是保持了的      
查看文件的 owner? ls -l 就可以啊      
引用:
原帖由 dearvoid 于 2007-8-8 09:28 发表
查看文件的 owner? ls -l 就可以啊
o , 好的,明白了。
但是试验了一下,发现owner还是变化了的      
引用:
原帖由 tenseiga 于 2007-8-8 12:58 发表

o , 好的,明白了。
但是试验了一下,发现owner还是变化了的
owner 变化应该是因为你不是 root 用户. 非 root 用户是不能将自己的文件 chown 成其他用户的