在Linux目录中查找所有user1拥有的和user1的组可执行文件

时间:2017-09-06 03:51:18

标签: linux

我想在Linux目录中找到所有 user1 拥有的和 user1 的组可执行文件。

使用find以下工作正常:

find /$mydir -type f -user user1 -perm -010

但需要知道如何使用lsgrep执行相同的操作。

1 个答案:

答案 0 :(得分:0)

如果未指定findmaxdepth命令会执行递归搜索。

对于当前目录:

当您了解user1的群组时,

ls -l | awk '$3=="user1"&&$4=="user1group"&&substr($1,1,1)=="-"&&substr($1,7,1)=="x" {print $NF}'将会有效。

或者在所有子文件夹中的组之间使用递归搜索:

user="user1";for s in `groups $user| sed 's/.*: //g'`; do awkstmt="ls -R -l | awk '\$3==\"$user\"&&\$4==\""$s"\"&&substr(\$1,1,1)==\"-\"&&substr(\$1,7,1)==\"x\" {print \$NF}'"; eval $awkstmt; done | sort | uniq

或在当前文件夹中的组之间进行递归搜索:

user="user1";for s in `groups $user| sed 's/.*: //g'`; do awkstmt="ls -l | awk '\$3==\"$user\"&&\$4==\""$s"\"&&substr(\$1,1,1)==\"-\"&&substr(\$1,7,1)==\"x\" {print \$NF}'"; eval $awkstmt; done | sort | uniq