Linux 中的定位命令

2023-11-09

在 Linux 上工作时最常见的操作之一是搜索文件和目录。 Linux 系统上有多个命令允许您搜索文件,其中 find 和locate 是最常用的命令。

The locate命令是按名称搜索文件和目录的最快、最简单的方法。

在这篇文章中,我们将解释如何使用locate命令。

安装中locate(未找到定位命令)#

根据发行版以及系统的配置方式,locate 软件包可能会也可能不会预安装在您的 Linux 系统上。

要检查是否locate实用程序已安装,打开终端,输入locate并按Enter。如果安装了该包,系统会显示locate: no pattern to search for specified。否则,你会看到类似的东西locate command not found.

If locate尚未安装,您可以使用发行版的包管理器轻松安装它。

Install locate在 Ubuntu 和 Debian 上#

sudo apt update sudo apt install mlocate

Install locate在 CentOS 和 Fedora 上#

sudo yum install mlocate

如何locate Work #

The locate命令通过由生成的数据库文件搜索给定模式updatedb命令。找到的结果显示在屏幕上,每行一个。

在安装 mlocate 软件包期间,cron job创建运行updatedb每 24 小时发出一次命令。这确保了数据库定期更新。有关 cron 作业的更多信息,请查看/etc/cron.daily/mlocate file.

可以通过运行手动更新数据库updatedb作为 root 或具有 sudo 权限的用户:

sudo updatedb

更新过程将需要一些时间,具体取决于文件和目录的数量以及系统的速度。

数据库更新后创建的文件不会显示在定位结果中。

相比更强大的find搜索文件系统的命令,locate运行速度更快,但缺乏许多功能,并且只能按文件名搜索。

如何使用locate命令#

语法为locate命令如下:

locate [OPTION] PATTERN...

在最基本的形式中,当不带任何选项使用时,locate命令将打印与搜索模式匹配且用户具有读取权限的所有文件和目录的绝对路径。

例如搜索名为的文件.bashrc你可以输入:

locate .bashrc

输出将包括包含该字符串的所有文件的名称.bashrc以他们的名字:

/etc/bash.bashrc
/etc/skel/.bashrc
/home/linuxize/.bashrc
/usr/share/base-files/dot.bashrc
/usr/share/doc/adduser/examples/adduser.local.conf.examples/bash.bashrc
/usr/share/doc/adduser/examples/adduser.local.conf.examples/skel/dot.bashrc

The /root/.bashrc文件不会显示,因为我们以没有访问权限的普通用户身份运行该命令/root目录。

如果结果列表很长,为了更好的可读性,您可以将输出通过管道传递到less命令:

locate .bashrc | less

The locate命令还接受包含通配符等通配符的模式*。当模式不包含通配符时,该命令将搜索*PATTERN*。这就是为什么在前面的示例中,显示了名称中包含搜索模式的所有文件。

通配符是用于表示零个、一个或多个字符的符号。例如,要搜索所有.md系统上的文件,您可以输入:

locate *.md

要限制搜索结果,请使用-n选项后跟您要显示的结果数。以下命令将搜索所有.py文件并仅显示 10 个结果:

locate -n 10 *.py

默认情况下,locate执行区分大小写的搜索。这-i (--ignore-case) 选项告诉locate忽略大小写并运行不区分大小写的搜索。

locate -i readme.md
/home/linuxize/p1/readme.md
/home/linuxize/p2/README.md
/home/linuxize/p3/ReadMe.md

要显示所有匹配条目的计数,请使用-c (--count) 选项。以下命令将返回包含以下内容的所有文件的数量.bashrc以他们的名字:

locate -c .bashrc
6

默认情况下,locate不检查找到的文件是否仍然存在于文件系统上。如果您在最新数据库更新后删除了文件,并且该文件与搜索模式匹配,则它将包含在搜索结果中。

仅显示当时存在的文件的名称locate运行时,使用-e (--existing) 选项。例如,以下内容将仅返回现有的.json files:

locate -e *.json

如果您需要运行更复杂的搜索,请使用-r (--regexp) 选项,它允许您使用基本正则表达式而不是模式进行搜索。该选项可以指定多次。
例如,要搜索所有.mp4 and .avi系统上的文件并忽略大小写,您将运行:

locate --regex -i "(\.mp4|\.avi)"

结论#

The locate命令在文件系统中搜索名称与给定模式匹配的文件和目录。命令语法很容易记住,结果几乎立即显示。

有关所有可用选项的更多信息locate命令类型man locate在您的终端中。

如果您有任何疑问,请随时发表评论。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux 中的定位命令 的相关文章

随机推荐

  • Git 技巧:安全删除本地和远程分支

    使用 Git 是现代软件开发的重要组成部分 随着项目的发展 我们经常发现自己有多个分支代表不同的开发阶段 然而 维护太多分支可能会导致混乱和混乱 在本文中 我们将探讨安全有效地删除 Git 远程和本地分支的步骤 确保干净且有组织的工作流程
  • Linux Nohup 命令

    The nohup命令执行指定为其参数的另一个程序并忽略所有SIGHUP 挂断 信号 SIGHUP是当进程的控制终端关闭时发送到进程的信号 通常 当您通过 SSH 运行程序时 如果连接断开或注销 会话将终止 并且从终端执行的所有进程都将停止
  • 如何在 CentOS 7 上安装和使用 FFmpeg

    FFmpeg 是一个用于处理多媒体文件的免费开源工具集合 它包含一组共享的音频和视频库 例如libavcodec libavformat和libavutil 使用 FFmpeg 您可以在各种视频和音频格式之间进行转换 设置采样率 捕获流音频
  • 如何在 Debian 10 上安装 Python 3.8

    Python 是世界上使用最广泛的编程语言之一 凭借其简单易学的语法 Python 成为初学者和经验丰富的开发人员的热门选择 Python 是一种非常通用的编程语言 它可用于构建各种应用程序 从简单的脚本到复杂的机器学习算法 Debian
  • 如何在 Debian 9 上安装 Visual Studio Code

    视觉工作室代码是微软开发的免费开源跨平台代码编辑器 它有一个内置的调试支持 嵌入式Git控制 语法突出显示 代码完成 集成终端 代码重构和片段 可以使用扩展来扩展 Visual Studio Code 功能 本教程介绍如何使用 VS Cod
  • 使用 PostfixAdmin 设置邮件服务器

    Postfix Admin 是一个基于 Web 的界面 允许用户配置和管理基于 Postfix 的电子邮件服务器 使用 Postfix Admin 您可以创建和管理多个虚拟域 用户和别名 这是该系列的第一篇文章设置和配置邮件服务器其中涵盖了
  • 如何在 CentOS 8 上安装 PHP

    PHP 是最常用的服务器端编程语言之一 许多流行的 CMS 和框架 例如 WordPress Magento 和 Laravel 都是用 PHP 构建的 在本指南中 我们将讨论如何在 CentOS 8 上安装 PHP 7 2 7 3 或 7
  • 在 Debian 10 上使用 Let's Encrypt 保护 Apache

    Let s Encrypt 是由互联网安全研究小组 ISRG 创建的证书颁发机构 它通过完全自动化的流程提供免费的 SSL 证书 旨在消除手动证书创建 验证 安装和续订 Let s Encrypt 颁发的证书自颁发之日起 90 天内有效 并
  • 如何在 CentOS 7 上安装 PostgreSQL

    PostgreSQL 或 Postgres 是一种开源通用对象关系数据库管理系统 具有许多高级功能 可让您创建复杂的 Web 应用程序 在本教程中 我们将向您展示如何在 CentOS 7 计算机上安装 PostgreSQL 的两种不同方法
  • 如何在 Ubuntu 18.04 上安装 MariaDB

    MariaDB 是一个开源 多线程关系数据库管理系统 向后兼容 MySQL 的替代品 它由以下机构维护和开发MariaDB基金会包括MySQL的一些原始开发人员 在本教程中 我们将向您展示如何在 Ubuntu 18 04 计算机上安装 Ma
  • 在 CentOS 7 上使用 yum-cron 配置自动更新

    定期更新 CentOS 系统是整个系统安全最重要的方面之一 如果您不使用最新的安全补丁更新操作系统的软件包 您的计算机就会容易受到攻击 如果您管理多台 CentOS 机器 手动更新系统软件包可能会非常耗时 即使您管理单个 CentOS 安装
  • 在 Vim / Vi 中查找和替换

    本文介绍如何在 Vim Vi 中查找和替换文本 Vim 是最流行的命令行文本编辑器 它预装在 macOS 和大多数 Linux 发行版上 在 Vim 中查找和替换文本既快速又简单 基本查找和替换 在 Vim 中 您可以使用以下命令查找和替换
  • 安装和配置 Roundcube Webmail

    这是最后一部分设置和配置邮件服务器系列 其中我们将介绍如何安装和配置 Roundcube Webmail Roundcube 是一个基于 Web 的 IMAP 电子邮件客户端 具有用 PHP 编写的非常直观且现代的用户界面 要使用 Roun
  • Linux 中的自由命令

    我的 Linux 系统上有多少可用 RAM 内存 是否有足够的可用内存来安装和运行新应用程序 在Linux系统中 您可以使用free命令获取有关系统内存使用情况的详细报告 The free命令提供有关物理总量和swap内存 以及空闲和已用内
  • 如何在 Linux 中查找/获取您的 IP 地址

    在排除网络问题 设置新连接或配置防火墙时 了解设备的 IP 地址非常重要 IP 地址可分为两类 公共地址和私有地址 公共IP是唯一的并且可以从互联网访问的IP地址 私有 IP 地址保留供私有网络内部使用 而不直接暴露于 Internet 此
  • Python if..else 语句

    决策是计算机编程最基本的概念之一 Python 支持其他语言中常见的流程控制语句 但进行了一些修改 这if控制语句是最基本和众所周知的语句之一 用于根据特定条件执行代码 在这篇文章中 我们将回顾一下基础知识ifPython 中的语句 Pyt
  • Linux 中的 Echo 命令及示例

    The echo命令是Linux中最基本 最常用的命令之一 参数传递给echo打印到标准输出 echo常用于 shell 脚本中显示消息或输出其他命令的结果 回显命令 echo是 Bash 和大多数其他流行 shell 如 Zsh 和 Ks
  • 如何检查你的 Ubuntu 版本

    当您第一次登录 Ubuntu 系统时 在进行任何工作之前 最好检查一下计算机上运行的 Ubuntu 版本 新的 Ubuntu 版本每六个月发布一次 而 LTS 长期支持 版本每两年发布一次 LTS 版本在桌面和服务器上均受支持五年 其他标准
  • 如何在 Debian 9 上安装和使用 Docker

    Docker 是一个容器化平台 允许您快速构建 测试和部署应用程序作为可移植 自给自足的容器 几乎可以在任何地方运行 Docker 是容器技术事实上的标准 它是 DevOps 工程师及其持续集成和交付管道的重要工具 在本教程中 我们将指导您
  • Linux 中的定位命令

    在 Linux 上工作时最常见的操作之一是搜索文件和目录 Linux 系统上有多个命令允许您搜索文件 其中 find 和locate 是最常用的命令 The locate命令是按名称搜索文件和目录的最快 最简单的方法 在这篇文章中 我们将解