在 Linux 中查找文件名并指定目录的快速方法
Fast way to find file names in Linux and specify directory
这个命令很慢:find / -name 'program.c' 2>/dev/null
1) 有更快的选择吗?
2) 是否有替代上述命令在特定嵌套目录(但不是整个系统)中搜索文件的方法?
命令中的第一个 /
是 find 开始搜索的基本目录。您可以指定您喜欢的任何目录,因此如果您知道 program.c 在您的主目录中的某处,您可以执行 find ~ -name 'program.c'
或者如果它在 /usr/src 中,则执行 find /usr/src -name 'program.c'
这应该对 1 和 2 都有帮助。
如果你想要一个不是 find 的命令可以更快,你可以查看 mlocate 的东西。如果你最近完成了 updatedb(或者让 cron 在一夜之间为你完成),你可以做 locate <pattern>
并且它会向你显示与 file/directory 名称中的模式匹配的所有地方,这通常非常快.
虽然 locate
& updatedb
是针对整个系统的,但通常搜索速度更快。
为了快速搜索,您可能需要 locate
它通常设置为每天扫描文件系统,并为文件编制索引。
这个命令很慢:find / -name 'program.c' 2>/dev/null
1) 有更快的选择吗?
2) 是否有替代上述命令在特定嵌套目录(但不是整个系统)中搜索文件的方法?
命令中的第一个 /
是 find 开始搜索的基本目录。您可以指定您喜欢的任何目录,因此如果您知道 program.c 在您的主目录中的某处,您可以执行 find ~ -name 'program.c'
或者如果它在 /usr/src 中,则执行 find /usr/src -name 'program.c'
这应该对 1 和 2 都有帮助。
如果你想要一个不是 find 的命令可以更快,你可以查看 mlocate 的东西。如果你最近完成了 updatedb(或者让 cron 在一夜之间为你完成),你可以做 locate <pattern>
并且它会向你显示与 file/directory 名称中的模式匹配的所有地方,这通常非常快.
虽然 locate
& updatedb
是针对整个系统的,但通常搜索速度更快。
为了快速搜索,您可能需要 locate
它通常设置为每天扫描文件系统,并为文件编制索引。