LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 971|回复: 5

cp命令-p参数使用的一点疑问

[复制链接]
发表于 2006-8-1 08:45:45 | 显示全部楼层 |阅读模式
在学习cp命令时,网上给出的说明和实例如下:
参数-p是表示連同檔案的屬性一起複製過去,而非使用預設屬性;
参数-a等同参数-ptr
如:
將 /var/log/wtmp 複製到 /tmp 底下
[root@linux tmp]# cp -a /var/log/wtmp wtmp_2  .
[root@linux tmp]# ls -l /var/log/wtmp wtmp_2
-rw-rw-r--  1 root utmp 71808 Jul 18 12:46 /var/log/wtmp
-rw-rw-r--  1 root utmp 71808 Jul 18 12:46 wtmp_2


现在我在我的虚拟机上做实例(虚拟机装redhat linux ,kernel 2.4.2.0-8)
[user1@linux tmp]$ touch test1
[user1@linux tmp]$ls -al test1
-rw-rw-r--  1 user1  user1    71808 Jul 18 12:46  test1

以user2登陆
[user2@linux tmp]$ cp -a test1 test2
[user2@linux tmp]$ls -al test1 test2
-rw-rw-r--  1 user1  user1    71808 Jul 18 12:46  test1
-rw-rw-r--  1 user2  user2    71808 Jul 18 12:46  test2

在这里为什么用了-a 参数后,档案的时间、权限属性没变,而所有者属性仍然改变?
发表于 2006-8-1 12:18:07 | 显示全部楼层
用root,user2是没有权限将文件的所有者改为user1的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-1 14:02:31 | 显示全部楼层
Post by seamonkey
用root,user2是没有权限将文件的所有者改为user1的

谢谢。我用root执行,加-p参数确实保留文件的所有者属性。
不知道我这样理解对不对
cp命令的-p参数只有root用户执行才能保留文件的所有者属性,其他用户执行只能保留除所有者属性外的属性?

我查了man cp
-p same as  --preserve=mode ,ownership,timestamps
对于-p 参数的解释没有确切说明这一点。
回复 支持 反对

使用道具 举报

发表于 2006-8-2 08:45:42 | 显示全部楼层
非 root 用户,是不能把文件权限修改成别人的,所以只能是自己的。


cp命令的-p参数只有root用户执行才能保留文件的所有者属性,其他用户执行只能保留除所有者属性外的属性?

基本上,是的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-2 14:14:57 | 显示全部楼层
清楚了解,谢谢!
回复 支持 反对

使用道具 举报

发表于 2006-8-3 20:25:47 | 显示全部楼层
cp命令按您的指示做了,但是您却没有这个权力!这就是
巧妇难为无米之炊!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表