我试图找出为什么find
找不到我的文件,即使它们是可读的。
/some
我设置了以下目录
drwxr-xr-x 2 root root 4096 Sep 23 16:45 some
每个人都可以阅读。在目录中我有一个名为foundme.txt
-rw-r--r-- 1 root student 157961 Sep 23 16:48 foundme.txt
现在,当我尝试以学生用户身份查找此文件时,除了权限错误之外,我没有得到任何结果。我的理解是,学生可以读取该目录和文件(而且确实如此)。
有人能解释一下为什么这会失败吗?
$ find / -name "foundme.txt"
find: ‘/root’: Permission denied
答案1
该find
命令从文件系统树的顶部开始/
,并搜索名为 的文件foundme.txt
。在到达该文件夹的过程中,/some
它将包含/root
您无权访问的许多其他目录(例如,下面的许多伪目录/proc
)。
因此,find
警告您它无法检查这些目录中的文件。
如果您离开find
足够长的时间,它会发现您的文件为/some/foundme.txt
.您还可以通过附加来丢弃错误/警告消息2>/dev/null
您还可以通过附加到命令末尾来标准错误到位桶而不是将其显示在屏幕上)。