GNU `find` 错误:“find:无法从文件系统中读取位于或低于‘/’的文件名:没有此文件或目录”

GNU `find` 错误:“find:无法从文件系统中读取位于或低于‘/’的文件名:没有此文件或目录”

操作系统:macOS Big Sur 11.6

我正在尝试查找系统上符合某种模式的所有文件,以便在删除应用程序后删除多余的文件。为此,应用程序是 RStudio。

我正在使用这个 GNUfind命令来查找包含模式“ rstudio”的所有文件或目录:

find / -name "*rstudio*"

但是,在找到所有匹配的文件之前,我收到一条错误消息,提示:

find: failed to read file names from file system at or below ‘/’ : No such file or directory

此错误似乎在find仅搜索了/usr/.../Library/...和之后出现/System/...

我确实知道有项目包含例如~/.local~/.share~/.config类似的模式~/.config/rstudio/,但这些项目从未被找到。

是的,我使用的gfind是 Homebrew 安装的,并且别名为find而不是 macOS /usr/bin/find

任何帮助,将不胜感激。

答案1

不是答案,但可能是一种解决方法。
这个问题似乎已经存在好几年了。
我在 Windows 上遇到了这个问题,使用的是 MSYS2,我使用 VeraCrypt 卷,安装在 Z:、Y:、X:、...
第一的:
我有问题仅有的在搜索时A(不是“在”)顶级文件夹中

mkdir -p /x/aaa/{bbb,ccc}
cd /x/aaa
find . => ERROR
find bbb/ => OK
cd bbb
find .    => OK
find ../  => ERROR
find ../ccc => OK

第二:
我遇到了问题exFat,但是不开NTFS

因此,第二个是我的解决方法:将 USB 驱动器和 VeraCrypt 卷格式化为 NTFS。
希望第一个和第二个方法都能帮助解决这个问题 - 有一天 :-)

答案2

我不得不停止使用 GNU findutils 版本。目前,除了恢复使用 macOS 附带的基于 BSD 的版本之外,没有其他解决方法,例如

alias find='/usr/bin/find’ # use macOS version

我不确定为什么 GNU 版本会出现这个问题,也许这与 APFS 有关。

还有一些可以替代“find”的方法可以作为解决方法,其中包括 fd、mdfind(使用 macOS spotlight)或locate/locatedb。

相关内容