Linux locate 命令17 Mar 2025 | 4 分钟阅读 locate 命令和 find 命令都用于按名称搜索文件。但它们之间的区别在于,locate 命令是一个后台进程,在数据库中搜索文件,而 find 命令在文件系统中搜索。locate 命令比 find 命令快得多。 如果您无法使用 locate 命令找到文件,则意味着您的数据库已过时,您可以使用 "updatedb" 命令更新数据库。 语法选项一些有用的命令行选项如下: -A, --all: 用于仅显示匹配所有 PATTERNS 的条目,而不是要求只有一个匹配。 -b, --basename: 用于仅将基本名称与指定模式进行匹配。 -c, --count: 用于在标准输出上显示匹配条目的数量,而不是文件名。 -d, --database DBPATH: 用于将默认数据库替换为 DBPATH。 -e, --existing: 用于在命令执行期间仅显示引用现有文件的条目。 -L, --follow: 如果指定了 "--existing" 选项,则用于检查文件是否存在并遵循尾随符号链接。它将省略指向输出的无效符号链接。这是默认行为。可以使用 "--nofollow" 选项指定相反的行为。 -h, --help: 用于显示帮助文档,其中包含可用选项的摘要。 -i, --ignore-case: 用于忽略指定模式的区分大小写。 -p, --ignore-spaces: 用于在匹配模式时忽略标点符号和空格。 -t, --transliterate: 用于在使用 iconv 转换时忽略口音,以匹配模式。 -l, --limit, -n LIMIT: 如果指定了此选项,则命令在找到 LIMIT 条目后成功退出。 -m, --mmap: 用于忽略与 BSD 和 GNU locate 的兼容性。 -0, --null: 用于使用 ASCII NUL 字符分隔输出中的条目,而不是在单独的行上写入每个条目。 -S, --statistics: 用于在标准输出上写入有关每个读取数据库的统计信息,而不是搜索文件。 -r, --regexp REGEXP: 用于搜索基本正则表达式 REGEXP。 --regex: 用于将所有 PATTERNS 描述为扩展正则表达式。 -V, --version: 用于显示版本和许可信息。 -w, --wholename: 用于仅匹配指定模式中的整个路径名。 locate 命令的示例让我们看一些 locate 命令的示例: 如何使用 locate 命令locate 命令是一个有用的文件搜索实用程序。它非常直接,只需按如下方式执行命令: 考虑下面的输出 ![]() 限制搜索查询我们可以使用 "-n" 选项限制搜索结果以避免冗余。 例如。要显示我们查询的仅 5 个结果,请按如下方式执行命令: 上面的命令将显示前五个文本文件。请看下面的输出: ![]() 显示匹配条目的数量要显示匹配文件的总数,请使用 '-c' 选项执行命令。请看下面的命令: 上面的命令将显示文件名中包含 "Demo" 的文件总数。请看下面的输出: ![]() 忽略区分大小写众所周知,Linux 终端区分大小写。因此,如果以大写形式搜索文件,它将仅列出大写文件。要忽略区分大小写,请按如下方式使用 '-i' 选项执行命令: 上面的命令将显示文件名中同时包含 "demo" 和 "Demo" 的文件。请看下面的输出: ![]() 更新 mlocate 数据库locate 命令依赖于 'mlocate' 数据库。因此,如果 locate 命令无法正常工作,我们需要更新数据库。要更新数据库,请按如下方式执行 'updatedb' 命令: 仅显示系统中的可用文件有时,locate 命令会显示已删除文件的结果。为避免看到已删除文件的结果,请使用 '-e' 选项执行命令。它将仅显示系统中物理上存在的文件。请看下面的命令: 它将产生以下输出: ![]() 跟踪 mlocate 数据库的状态要定位数据库统计信息,请使用 '-S' 选项执行命令,如下所示: 考虑下面的输出 ![]() 使用不同的分隔符分隔输出条目locate 命令的默认输出分隔符是换行符。但是我们可以更改默认分隔符。例如,要使用 ASCII NUL,请使用 '-0' 选项执行命令。请看下面的命令: 它将显示如下输出: ![]() 下一个主题Linux Date |
我们请求您订阅我们的新闻通讯以获取最新更新。