如何使用 find 扫描所有设置了执行位的文件?

sor*_*rin 24 find

我想编写一个使用 find 来修复文件权限的权限修复脚本。

我主要需要的是一个 find 命令,它能够列出所有设置了执行位的文件,而不管文件的其他权限(这就是诀窍)。

Sve*_*ven 30

关于 GNU 的发现:

find /dir -type f -executable
Run Code Online (Sandbox Code Playgroud)

在其他版本上,请参阅 周围的手册页-perm


小智 13

信不信由你,这在find手册页中有广泛的记录。在 CentOS 和 Ubuntu 系统上,我什至有这样的例子。

-烫发/模式

为文件设置了任何权限位模式。这种形式接受符号模式。u',如果使用符号模式,则必须指定g' 或 `o'。有关一些说明性示例,请参阅示例部分。如果 mode 中没有设置权限位,则此测试匹配任何文件(这里的想法是与 -perm -000 的行为保持一致)。

所以

find  . -perm /u+x
Run Code Online (Sandbox Code Playgroud)

将查找为所有者设置了执行权限的文件

find . -perm /u+x,o+x
Run Code Online (Sandbox Code Playgroud)

将找到为所有者和其他人设置了执行权限的文件等等。