我想编写一个权限修复脚本,使用 find 来修复文件的权限。
我主要需要的是一个 find 命令,它能够列出所有设置了执行位的文件,而不管该文件的其他权限(这就是诀窍)。
答案1
根据 GNU 的发现:
find /dir -type f -executable
对于其他版本,请参阅 周围的手册页-perm
。
答案2
不管你相信与否,这在寻找手册页。在 CentOS 和 Ubuntu 系统上我什至有这样的例子。
-烫发/模式
为文件设置任何权限位模式。这种形式接受符号模式。
u',
如果使用符号模式,则必须指定g' 或 'o'。有关一些说明性示例,请参阅示例部分。如果模式中没有设置权限位,则此测试匹配任何文件(这里的想法是与 -perm -000 的行为一致)。
所以
find . -perm /u+x
将查找为所有者设置了执行权限的文件
find . -perm /u+x,o+x
会查找为所有者等设置了执行权限的文件。
答案3
不使用 find 命令,在 zsh 上我们可以使用以下命令执行类似的操作Glob Qualifiers
:
ls /path/to/some/parent/folder/**/*(*)
上面的ls
命令将返回 的所有子文件夹中的所有/path/to/some/parent/folder
可执行文件。