sh/bash/dash/ksh/zsh等Shell脚本
-
rApJtR
- 帖子: 221
- 注册时间: 2005-08-01 20:35
- 来自: Hong Kong
#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
-
联系:
#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
#3
帖子
由 xiehuoli » 2006-09-20 13:57
用两个\ \把空格包起来
或者用""把空格文件包过起来
年轻没有失败! ! ! ! ! !
噢!有怪兽,有怪兽!
-
rApJtR
- 帖子: 221
- 注册时间: 2005-08-01 20:35
- 来自: Hong Kong
#4
帖子
由 rApJtR » 2006-09-20 19:28
俄…… 我知道 \ 和 "" 啊
不过问题是 我现在要改很多文件 难道一个个改么?
上面的那段本身是递归的 包含子目录啦
所以 怎样才能把 "" 加到 find 输出的结果上 从而可以给 xargs 用呢?
-
alinmn
- 帖子: 185
- 注册时间: 2006-05-19 21:42
- 来自: NIT
#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
#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
#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 .
或者如果用户权限已经正确,只是想给其他人增加读的权限: