例子
-rwxr--r-- 1 me users 0 May 27 13:58 file_0
-rw-rwxrw- 1 me users 0 May 27 13:58 file_1
-rw-rw-rwx 1 me users 0 May 27 13:59 file_2
-rwxrwxrwx 1 me users 0 May 27 14:02 file_3
Run Code Online (Sandbox Code Playgroud)
我需要列出当前目录中的所有 4 个文件
find . -type f \( -perm -u=x -o -perm -g=x -o -perm -o=x \)
Run Code Online (Sandbox Code Playgroud)
为我工作。还有其他解决方案吗?
小智 5
find . -type f -perm +111
Run Code Online (Sandbox Code Playgroud)
来自find(1):
-perm [-|+]模式
该模式可以是象征性的(见
chmod(1))或八进制数。如果模式是符号的,则假定起始值为零,并且模式设置或清除权限而不考虑进程的文件模式创建掩码。如果模式是八进制,则只有S_ISUID | S_ISGID | S_ISTXT | S_IRWXU | S_IRWXG | S_IRWXO文件模式位的07777 ( ) 位参与比较。如果模式前面有一个破折号 ("-"),如果至少模式中的所有位都设置在文件的模式位中,则此主要评估为真。如果模式前面有加号 ("+"),如果模式中的任何位在文件的模式位中设置。否则,这主要计算结果为真,如果在该位模式完全匹配文件的模式位。请注意,符号模式的第一个字符可能不是破折号 ("-")。
未在 SUSv3 中指定,但至少可跨 *BSD 和 Linux 移植(我还没有测试其他人)。