如何从终端的特定目录下使用locate
in找到文件?CentOS
定位搜索整个数据库!
答案1
locate
似乎没有选项可以执行此操作,但您仍然可以使用以下方法之一搜索特定目录:
- 在搜索中使用通配符。例子:
locate '*/directory/*filename*'
grep
与 一起使用locate
。例子:locate filename | grep /directory/
- 使用
find
命令。例子:find /my/directory/ -name filename
。您还可以通过附加-type d
或来将搜索限制为目录或文件-type f
。要在您的主文件夹中查找名为“myScript”的文件,您可以执行以下操作find ~/ -name myScript -type f
:这将在您的主文件夹中搜索名为“myScript”的文件(不是目录)。
答案2
man locate
至少在 CentOS 6.5 的输出中没有该功能的选项。但是,您可以通过更改搜索词来获得伪功能。例如,locate cron
可能会产生过多的输出,但会将结果限制为数据库中与搜索词匹配的locate '/var/log/cron'
项目。locate
或者,管道可以工作:locate cron | grep '/var/log/'
否则,使用 find:find /path/to/search -name '*cron*'
或类似的。