[问题]分别设置 文件夹 和 文件 权限

sh/bash/dash/ksh/zsh等Shell脚本
回复
rApJtR
帖子: 221
注册时间: 2005-08-01 20:35
来自: Hong Kong
送出感谢: 0
接收感谢: 0
联系:

[问题]分别设置 文件夹 和 文件 权限

#1

帖子 rApJtR » 2006-09-20 13:11

用这样一句

代码: 全选

find ./ -type d -print|xargs chmod 755; find ./ -type f -print |xargs chmod 644
就可以分别设置当前目录下 文件夹 权限为755 文件为644
然而 我发现如果 文件名中带有空格就不行了

哪位大大帮忙改一下啊
头像
zhuqin_83
帖子: 10606
注册时间: 2006-05-13 4:02
送出感谢: 0
接收感谢: 7 次
联系:

#2

帖子 zhuqin_83 » 2006-09-20 13:25

好像空格用反斜杠\
HP Pavilion DV6-2064CA: AMD Turion II Ultra Dual-Core Mobile M640, HD4650, 2GBx2 DDR2-800, Seagate 500GB 7200RPM SATA, BD-ROM
DELL UltraSharp 2209WA
Arch64, Testing repo
头像
xiehuoli
帖子: 5941
注册时间: 2006-06-10 8:43
来自: 中国 CS
送出感谢: 0
接收感谢: 2 次

#3

帖子 xiehuoli » 2006-09-20 13:57

用两个\ \把空格包起来
或者用""把空格文件包过起来
年轻没有失败! ! ! ! ! !
噢!有怪兽,有怪兽!
rApJtR
帖子: 221
注册时间: 2005-08-01 20:35
来自: Hong Kong
送出感谢: 0
接收感谢: 0
联系:

#4

帖子 rApJtR » 2006-09-20 19:28

俄…… 我知道 \ 和 "" 啊
不过问题是 我现在要改很多文件 难道一个个改么?

上面的那段本身是递归的 包含子目录啦
所以 怎样才能把 "" 加到 find 输出的结果上 从而可以给 xargs 用呢?
头像
alinmn
帖子: 185
注册时间: 2006-05-19 21:42
来自: NIT
送出感谢: 0
接收感谢: 0

#5

帖子 alinmn » 2006-09-20 22:52

试试find ./ -type d -print0|xargs -0 chmod 755; find ./ -type f -print0 |xargs -0 chmod 644
cocaxl
帖子: 41
注册时间: 2006-06-16 17:32
送出感谢: 0
接收感谢: 0

#6

帖子 cocaxl » 2008-09-20 18:41

alinmn 写了:试试find ./ -type d -print0|xargs -0 chmod 755; find ./ -type f -print0 |xargs -0 chmod 644
这个好用
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30
送出感谢: 2 次
接收感谢: 31 次

#7

帖子 aerofox » 2008-09-20 20:32

也可以试试这个:

代码: 全选

find . \( -type d -exec chmod 755 {} \; \) -o \( -type f -exec chmod 644 {} \; \)
或者实际上只是需要这个:

代码: 全选

chmod -R u=rwX,go=rX .
或者如果用户权限已经正确,只是想给其他人增加读的权限:

代码: 全选

chmod -R go=u-w .
回复

回到 “Shell脚本”