“find”是否返回不在文件系统上的目录?

“find”是否返回不在文件系统上的目录?

我试图确定 python 站点包 matplotlib 安装在我的计算机上的位置。我find ./ -name matplotlib在最顶层的目录(称为根目录,不是吗?)运行并返回以下内容:

.//System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/matplotlib
.//System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/matplotlib

当我列出 Library/Frameworks/Python.framework/Versions 下的文件夹时

我只看到 python 3.5 的文件夹,相反返回的内容find

Anjalis-MBP:Versions ahanagrawal$ ls -a

.   ..  3.5

Anjalis-MBP:Versions ahanagrawal$ 

为什么会这样呢?

答案1

这是一个 OSX 特定问题,而不是一个查找问题。默认存在两个“Library”目录:

/System/Library 

适用于主文件夹中的所有用户和用户特定用户

/Users/yourUsername/Library

您听起来对 unix 路径语法有点不熟悉,所以我猜您做了以下操作:

cd /
find ./ ....

您复制了 String Library/Frameworks/Python.framework/Versions 并复制到默认在主目录中打开的新 shell 中

/Users/yourUsername

您执行了以下操作:

cd Library/Frameworks/Python.framework/Versions

你实际上最终会进入

/Users/yourUsername/Library/Frameworks/Python.framework/Versions

猜测:您已经在系统范围内安装了 2.6 和 2.7 版本,而仅为您的用户安装了 3.5 版本。

相关内容