在Linux中快速查找文件名并指定目录

这个命令很慢: find / -name 'program.c' 2>/dev/null

1)有更快的select吗?

2)是否有替代上述命令来search特定的嵌套目录(但不是整个系统)的文件?

第一个/在你的命令中是查找将从其开始搜索的基础目录。 你可以指定你喜欢的任何目录,所以如果你知道,例如,program.c是在你的主目录中的某处,你可以find ~ -name 'program.c'或者如果它在/ usr / src中find /usr/src -name 'program.c'

这应该有助于1和2。

如果你想要一个没有找到可以更快的命令,你可以检查mlocate的东西。 如果你已经做了一个最新的更新(或者让cron在一夜之间为你做了),你可以locate <pattern> ,并且会在文件/目录名称的任何地方向你显示那个模式,这通常是相当快的。

为了快速搜索,您可能需要locate它通常设置为每天对文件系统进行扫描,并对文件进行索引。

http://linux.die.net/man/1/locate

尽管locateupdatedb是针对整个系统的,但搜索通常更快。