linux设置文件权限(find+chmod)

要求是把一个目录下的所有目录及其子目录设置成555,把所有php文件设置成444,但是data目录不变

=。= 最后只能想到这样的...

find ~/Desktop/test -path ~/Desktop/test/data -prune -o -exec chmod 555 {} \;
find ~/Desktop/test -name "*.php" -exec chmod 444 {} \;


find /home/www/ -type f -exec chmod 644 {} \;
find /home/www/ -type d -exec chmod 755 {} \;

chmod -R 755 /home/www
chmod 644 /home/www

linux系统默认权限:文件夹的755 下的文件是644

find命令的参数

pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
-print: find命令将匹配的文件输出到标准输出。
-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。
-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。 比较有趣的是-prune参数 用来忽略某个目录find ~/Desktop/test -print 打印全部find ~/Desktop/test -path ~/Desktop/test/data -prune -o -print  打印除data目录的是 find ~/Desktop/test -path ~/Desktop/test/data -a -prune -o -print 的缩写-a(逻辑与)和-o(逻辑或)都是短路求值  可以用伪代码表示为if path ~/Desktop/test/data    then -prune    else -print避开多个目录使用 find ~/Desktop/test  \(-path /dir1 -o -path /dir2 \) -prune -o  -print chmod命令的参数chmod abc file  a,b,c各为一个数字,分别表示User、Group、及Other的权限
r:读取权限,数字代号为4
w:写入权限,数字代号为2
x:执行权限,数字代号为1
-:不具任何权限,数字代号为0权限通过逻辑或计算-rw------- (600) -- 只有属主有读写权限
-rw-r--r-- (644) -- 只有属主有读写权限;而属组用户和其他用户只有读权限
-rwx------ (700) -- 只有属主有读、写、执行权限
-rwxr-xr-x (755) -- 属主有读、写、执行权限;而属组用户和其他用户只有读、执行权限
-rwx--x--x (711) -- 属主有读、写、执行权限;而属组用户和其他用户只有执行权限
-rw-rw-rw- (666) -- 所有用户都有文件读、写权限。这种做法不可取
-rwxrwxrwx (777) -- 所有用户都有读、写、执行权限。更不可取的做法
  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值