我如何搜索具有特定权限的文件。例如,我有 10000 个文件,我想找到具有“只读”标志的文件。在另一种情况下,我想搜索具有特定所有者的文件。或者在另一种情况下查看“只读”和“可执行”的文件。
答案1
最简单的方法可能是使用find
命令,它允许您递归搜索目录树。例如,如果您特别想查找只读文件,您可以输入
find <specify location> -type f -perm -444
对于属于特定用户的文件,您可以使用
find <location> -type f -user mike
对于可执行文件(对于所有文件),您可以使用
find <location> -type f -perm -777
对于所有可执行和只读的文件,您可以使用 555 代替上例中的 777。您还可以通过替换 来搜索属于某个组的-user mike
文件-group mike
。
要否定搜索词并搜索完全相反的内容,您可以使用感叹号,如下所示:
find <location> -type f ! -perm -444
注意:在权限前指定破折号(例如-perm -444
)意味着将找到所有具有只读标志的文件,而不仅仅是 444 的文件;要精确搜索 444,只需删除破折号(例如-perm 444
)。
注意 2:也可以使用-a
for 和 以及-o
for 或来查找权限组合;例如,要准确找到这些权限,请键入:
find <location> -type f -perm 744 -o -perm 666
可以使用 来搜索目录-type d
。
请参阅man find
以了解其他可用的排列。