locate命令

locate命令

locate命令用于查找符合条件的文件,其会去保存文件和目录名称的数据库内,查找符合指定条件的文件或目录,locate命令预设的数据库位于/var/lib/mlocate/mlocate.dblocatefind不同,find是去硬盘找,而locate只在数据库中查找,这个数据库中含有本地所有文件信息,Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件,可以主动执行updatedb命令以更新数据库。

语法#

Copy
locate [OPTION] [PATTERN]

参数#

  • -b, --basename: 仅将基本名称与指定的模式匹配。
  • -c, --count: 在标准输出上不输出文件名,而只输出匹配条目的数量。
  • -d, --database <DBPATH>: 用指定的数据库替换默认数据库,如果指定了多个--database选项,则结果路径是单独路径的串联,此外空数据库文件名将替换为默认数据库。
  • -e, --existing: 仅打印引用定位时存在的文件的条目。
  • -L, --follow: 在检查文件是否存在时,遵循尾随的符号链接,这会使将导致断开的符号链接从输出中省略,这是默认行为。
  • -h, --help: 在线帮助。
  • -i, --ignore-case: 匹配模式时忽略大小写区别。
  • -l, --limit, -n <LIMIT>: 找到LIMIT个条目后成功退出,如果指定了--count选项,则结果计数也将限制为LIMIT
  • -m, --mmap: 出于BSDGNU兼容性而被忽略。
  • -P, --nofollow, -H: 在检查文件是否存在时,不跟随尾随的符号链接,这会使断开的符号链接像其他文件一样被报告。
  • -0, --null: 使用ASCII NUL字符分隔输出上的条目,而不是将每个条目写在单独的行上,此选项旨在与GNU xargs--null选项互操作。
  • -S, --statistics: 将每个有关读取数据库的统计信息写入标准输出,而不是搜索文件并成功退出。
  • -q, --quiet: 不输出任何有关读取和处理数据库时遇到的错误的消息。
  • -r, --regexp <REGEXP>: 搜索基本的正则表达式,如果使用此选项,则不允许使用模式匹配,但可以多次指定此选项。
  • --regex: 将所有PATTERN解释为扩展的正则表达式。
  • -s, --stdio: 出于BSDGNU兼容性而被忽略。
  • -V, --version: 输出版本信息。
  • -w, --wholename: 将整个路径名与指定的模式匹配,这是默认行为。

示例#

查找file.txt文件。

Copy
locate file.txt

输出匹配file.txt文件名的数量。

Copy
locate -c file.txt

匹配以make结尾的文件。

Copy
locate -r make$

每日一题#

Copy
https://github.com/WindrunnerMax/EveryDay

参考#

Copy
https://man.linuxde.net/locate_slocate https://www.runoob.com/linux/linux-comm-locate.html https://www.tutorialspoint.com/unix_commands/locate.htm
posted @   WindRunnerMax  阅读(314)  评论(0编辑  收藏  举报
编辑推荐:
· MySQL 优化利器 SHOW PROFILE 的实现原理
· 在.NET Core中使用异步多线程高效率的处理大量数据
· 聊一聊 C#前台线程 如何阻塞程序退出
· 几种数据库优化技巧
· 聊一聊坑人的 C# MySql.Data SDK
阅读排行:
· 为什么推荐在 .NET 中使用 YAML 配置文件
· 干掉EasyExcel!FastExcel初体验
· .NET 阻止系统睡眠/息屏
· .NET 9 中的 多级缓存 HybridCache
· 快手后端面试,被面试官秒挂了!
点击右上角即可分享
微信分享提示
CONTENTS