wkp10251025 发表于 2004-8-9 10:51:18

请教“文件赠与”的shell命令及方法!!

我的/home下有两个用户:/home/zhangsan和/home/lisi,我在root根用户下将/zhangsan的部分文件(含文件夹)复制给/lisi,但当我进入/lisi后发现这些文件(含文件夹)的文件所有者均为/root。当然在root用户下可通过修改文件属性来改变文件所有者,但一个个的改很是麻烦。因此我想请教一下,可以用什么shell命令一次将所有的文件夹和其下面的文件“赠与”给另一用户──文件所有者由root变为lisi!!!

KanKer 发表于 2004-8-9 14:43:02

cp -rf path1 path2
cd path2
for i in `find ./ -name *`
do
chown lisi $i
chgrp lisi $i
done

wkp10251025 发表于 2004-8-9 20:18:20

斑竹你好,谢谢!我用你的方法,但结果显示如下:
# cp -rf /home/zhangsan /home/lisi
# cd /home/lisi
#
# for i in 'find ./ -name *'
> do
> chown wkp $i
> chgrp wkp $i
> done
chown:无效选项 -- n
请尝试执行‘chown --help’来获取更多信息。
chgrp:无效选项 -- n
请尝试执行‘chgrp --help’来获取更多信息。
我也不知道错在呢里,我是新手,一点都不懂! :oops:

没办法,我只有试用chown --help命令了,没想到我在其中发现了一个-R参数:递归处理所有的文件及子目录,我于是试了一下
# chown -R lisi /home/lisi/*
再回去查看文件的属性,果不其然,文件所有者变为lisi了!但组群还是root,我再用
# chgrp -R lisi /home/lisi/*
这下文件组群就全变过来了/lisi!!!

还有一个问题,如果将上面两命令中的/home/lisi/*改为/home/lisi * ( 最后呢个/变为空格 ),结果会有所不同,这对文件夹的受权尤其有用。试试看就会发现区别了!! :roll:

在此,我也发现了一个小窍门儿:
# chown --help            
它显示的是chown命令的中文帮助信息,而
# man chown
显示的则是chown命令的英文帮助信息!其他命令的帮助信息同理可得。虽然是班门弄斧,但怕有些新手和我一样尚未知晓,故献丑了。 :lol:


========================================================

为了学好Linux,我要努力!!!

KanKer 发表于 2004-8-10 09:35:02

呵呵,我那个是要保存为脚本文件才行。chown和chgrp的R选项没用过。用kde下konqueror批量改权限目录层次多时会出现漏改的现象。不知R选项有没有这个问题。
页: [1]
查看完整版本: 请教“文件赠与”的shell命令及方法!!