我的系统上有多个 Java 安装,其中一些是由 IDE 静默安装的,我想找出它们在哪里。所以我想用locate
去找他们。我的第一次尝试
locate java
发现了数千次点击.*java.*
。
有没有办法限制定位仅查找具有确切名称的文件?不是包含 Java 的路径。不是名称中包含 Java 的文件。
PS:我以前也遇到过类似的问题,所以请忽略Java部分并将其视为查找文件的问题。这也可能是一个查找 的所有出现的问题gcc
。
答案1
从man locate
:
NAME
要搜索名称准确(不是)的文件*NAME*
,
请使用locate -b '\NAME'
locate -b '\java'
-b
- 仅将基本名称与指定模式进行匹配。
答案2
对于大多数locate
实现:
locate '*/java'
应该管用。
当参数不包含通配符时,参数将作为字符串在文件路径中搜索。
当它包含通配符时,通配符必须与完整路径匹配。所以在这里,任何以 . 结尾的路径/java
。
答案3
find
可能是更好的定位方式爪哇命名文件。
find . -type f -name *java*
如果您想仍然使用locate,您可以使用locate -b
或者您可以使用
locate java | grep java$