我只想644
对当前目录中的所有文件应用权限,并且755
只对当前目录中的子目录应用权限chmod
答案1
使用find
:
find ./ -type f -maxdepth 1 -exec chmod 644 {} \;
find ./ -type d -maxdepth 1 -exec chmod 755 {} \;
-type f
:文件-type d
:目录-maxdepth 1
:第一级(避免默认的递归行为)-exec
:使用结果中的参数执行命令{}
将被结果中的一行替换。尝试:find ./ -type d -maxdepth 1 -exec echo hi{}low \;
这对于具有不同参数顺序的命令很有用,例如
ln
:ln -s {} ./otherfolder/{}
或者
cp
cp {} ./otherfolder/
\;
告诉-exec
是命令的结束,因为您可以find
在其后添加其他选项-exec
(这样它们就不会混淆)。尝试:find ./ -type d -maxdepth 1 -exec echo
参考:man find