您知道列出服务器上具有特定组和用户名的所有文件的命令吗?
我正在寻找这样的东西:
find -ls -group 'groupname' && find -ls -user 'username'
这必须列出具有该特定组和用户名的文件。
答案1
find
可以接受多个测试原语来确定选择哪些文件(或目录等)进行进一步处理find
。命令:
find / -user username
将列出用户拥有的所有文件username
。同样地,
find / -group groupname
将列出 group 拥有的所有条目groupname
。如果在命令行上给出两个测试find
,则默认操作是“与”它们:
find / -user username -group groupname -ls
答案2
您可以使用该find
命令指定用户和组,同时将多个选项放入带有-a
开关的 () 中。
find /the/path -type f \( -user username -a -group groupname \)
type -f
用于指定文件。如果您还需要目录和链接,可以将其删除。
括号必须用反斜杠转义。
如果您想将其传递给ls
:
find /the/path \( -user username -a -group groupname \) -exec ls {} \;
-exec -ls {} \;
在最后添加就可以了。