locate
瑞兹 发表于 2021-01-29 09:06浏览次数:
在类似Unix的操作系统上,locate命令按名称查找文件。
查看英文版
目录:
1 locate 运行系统环境
2 locate 描述
3 locate 语法
4 locate 例子
locate 运行系统环境
Unix&Linux
locate 描述
locate读取由updatedb准备的一个或多个数据库,并将与至少一个PATTERN匹配的文件名写入标准输出,每行一个。
如果--regex没有指定,模式可以包含通配符 的字符。如果任何PATTERN不包含浮点字符,locate的行为就好像该模式是“ * PATTERN * ”。
默认情况下,locate不会检查在数据库中找到的文件是否仍然存在(但是如果数据库是使用“ --require-visibility no ”构建的,则它确实要求所有父目录都存在)。在有关数据库的最新更新之后,locate永远不会报告创建的文件。
查看英文版
locate 语法
locate [OPTION]... PATTERN...
选件
-b,-- basename | 仅将基本名称与指定的模式匹配,这与--wholename相反。 |
-c,-- count | 不要在标准输出上写文件名,而只写匹配条目的数量。 |
-d,--database DBPATH |
用DBPATH替换默认数据库。DBPATH是:数据库文件名(冒号)分隔的列表。如果指定了多个--database选项,则结果路径为单独路径的串联。 空数据库文件名将替换为默认数据库。数据库文件名-指标准输入。请注意,数据库只能从标准输入读取一次。 |
-e,-- existing | 仅打印引用定位时存在的文件的条目。 |
-L,--follow |
在检查文件是否存在时(如果指定了--existing选项),请遵循尾随的符号链接。这将导致残破的符号链接从输出中省略。 此选项是默认行为。可以使用--nofollow指定相反的内容。 |
-h,--help | 写出标准输出可用选项的摘要并成功退出。 |
-i,-- ignore-case | 匹配模式时忽略大小写区别。 |
-l,-- limit, -n LIMIT |
找到LIMIT个条目后成功退出。如果指定了--count选项,则结果计数也将限制为LIMIT。 |
-m,-- mmap | 忽略不计,但包括了兼容BSD和GNU 定位。 |
-P,-- nofollow,-H |
在检查文件是否存在时(如果指定了--existing选项),请勿跟随尾随的符号链接。这导致断开的符号链接像其他文件一样被报告。 此选项与--follow相反。 |
-0,-- null | 使用ASCII NUL字符分隔输出上的条目,而不是将每个条目写在单独的行上。此选项旨在与GNU xargs的--null选项进行互操作。 |
-S,--statistics | 将有关每个读取数据库的统计信息写入标准输出,而不是搜索文件并成功退出。 |
-q,--quiet | 不写任何有关在读取和处理数据库时遇到的错误的消息。 |
-r,-- regexp REGEXP | 搜索基本的正则表达式REGEXP。如果使用此选项,则不允许使用PATTERN。但是可以多次指定此选项。 |
--regex | 将所有PATTERN解释为扩展的正则表达式。 |
-s,-- stdio | 忽略,为了兼容BSD和GNU定位。 |
-V,-- version | 在标准输出上写有关locate的版本和许可证的信息,然后成功退出。 |
-w,-- wholename |
仅将整个路径名与指定的模式匹配。 此选项是默认行为。可以使用--basename来指定相反的内容。 |
退出状态
定位成功与身份退出0,如果:
- 找到任何匹配项,或
- 该命令是带的一个调用--limit 0,--help,--statistics或--version选项,因为它造成这些选项不要搜索所有东西。因此,即使locate与任何结果都不匹配,命令也会成功退出。
在以下情况下,locate退出状态为1失败:
- 找不到匹配项,或者
- 遇到致命错误,导致程序终止。
读取数据库时遇到的错误不是致命的;在其他指定的数据库(如果有)中继续搜索。
查看英文版
locate 例子
locate perl
在本地计算机上找到名为perl的文件。
查看英文版
未知的网友