9.2 搜索文件名数据库,不区分大小写
locate -i
在上一节中,测试locate
命令时,使用haggard这个单词搜索任何名称中包含它的文件或目录,这样就找到了一组放在公共目录中的H. Rider Haggard的小说。结果如下所示:
$ locate haggard
.../txt/rider_haggard
.../txt/rider_haggard/Queen_of_the_Dawn.txt
.../txt/rider_haggard/Allan_and_the_Ice-Gods.txt
.../txt/rider_haggard/Heu-Heu_or_The_Monster.txt
之所以能找到这些小说,是因为包含它们的目录名称中有haggard这个单词。但如果目录名称是H_Rider_Haggard
,搜索就会失败,因为Linux系统默认是区分大小写的(如第1章所述)。明确这一点以后,可以加上-i
选项,这样执行的就是不区分大小写的搜索,从而既可以找到路径中包含haggard的文件,也可以找到包含Haggard的文件(实际上,也包括HAGGARD、HaGgArD等)。
$ locate -i haggard
/txt/rider_haggard
/txt/rider_haggard/Queen_of_the_Dawn.txt
/txt/rider_haggard/Allan_and_the_Ice-Gods.txt
/txt/rider_haggard/Heu-Heu_or_The_Monster.txt
/txt/Rider_Haggard
/txt/Rider_Haggard/King_Solomons_Mines.txt
/txt/Rider_Haggard/Allan_Quatermain.txt
结果表明,这种方法找到的Haggard小说比第一次要更多。当需要让locate
命令返回更多的结果时,要记得使用-i
选项;否则,可能会遗漏很多你想要找到的重要文件和文件夹。
说明 有关H. Rider Haggard的更多信息,可以访问http://en.wikipedia.org/wiki/Rider_Haggard。他是个有趣的人,虽然他已经过世了,也可以读读这些信息。