首页 > 其他分享 >locate命令

locate命令

时间:2024-10-25 08:47:59浏览次数:4  
标签:locate 档案 etc 命令 usr root localhost

locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了。在一般的 distribution 之中,数据库的建立都被放在 crontab 中自动执行。

1.命令格式

Locate [选择参数] [样式]

Shell

2.命令功能

locate命令可以在搜寻数据库时快速找到档案,数据库由updatedb程序来更新,updatedb是由cron daemon周期性建立的,locate命令在搜寻数据库时比由整个由硬盘资料来搜寻资料来得快,但较差劲的是locate所找到的档案若是最近才建立或 刚更名的,可能会找不到,在内定值中,updatedb每天会跑一次,可以由修改crontab来更新设定值。(etc/crontab)
locate指定用在搜寻符合条件的档案,它会去储存档案与目录名称的数据库内,寻找合乎范本样式条件的档案或目录录,可以使用特殊字元(如”*” 或”?”等)来指定范本样式,如指定范本为kcpaner, locate会找出所有起始字串为kcpa且结尾为ner的档案或目录,如名称为kcpartner若目录录名称为kcpa_ner*则会列出该目录下包括 子目录在内的所有档案。
locate指令和find找寻档案的功能类似,但locate是透过update程序将硬盘中的所有档案和目录资料先建立一个索引数据库,在 执行loacte时直接找该索引,查询速度会较快,索引数据库一般是由操作系统管理,但也可以直接下达update强迫系统立即修改索引数据库。

3.命令参数

  • -e - 将排除在寻找的范围之外。
  • -1 - 如果是1。则启动安全模式。在安全模式下,使用者不会看到权限无法看到的档案。这会始速度减慢,因为 locate 必须至实际的档案系统中取得档案的权限资料。
  • -f - 将特定的档案系统排除在外,例如没有到理要把 proc 档案系统中的档案放在资料库中。
  • -q 安静模式,不会显示任何错误讯息。
  • -n 至多显示 n 个输出。
  • -r 使用正规运算式 做寻找的条件。
  • -o 指定资料库存的名称。
  • -d 指定资料库的路径
  • -h 显示辅助讯息
  • -V 显示程式的版本讯息

注意:运行locate命令时,系统报错:locate: command not found。查了相关资料,发现原因是系统上没有该执行文件,就需要安装。解决方案如下:
执行命令:[root@localhost ~]# yum install locate //看locate属于哪个软件包
查出来mlocate.x86_64 : An utility for finding files by name 执行:[root@localhost ~]# yum install mlocate
mlocate安装完成之后,再执行locate命令,就不会报错。实在不行,还可以使用命令:
yum install *locate 来安装。执行 updatedb 手动构建库
[root@localhost ~]# updatedb
完成后就可以执行locate了

4.使用实例

实例1:查找和pwd相关的所有文件

命令:

locate pwd

Shell

执行演示及输出:

[root@localhost yiibai]# locate pwd
/etc/.pwd.lock
/usr/bin/pwd
/usr/bin/pwdx
/usr/lib/modules/3.10.0-514.el7.x86_64/kernel/drivers/watchdog/hpwdt.ko
/usr/lib64/cracklib_dict.pwd
/usr/lib64/python2.7/lib-dynload/spwdmodule.so
/usr/sbin/unix_chkpwd
/usr/share/cracklib/cracklib-small.pwd
/usr/share/cracklib/pw_dict.pwd
/usr/share/man/man1/pwd.1.gz
/usr/share/man/man1/pwdx.1.gz
/usr/share/man/man8/unix_chkpwd.8.gz
[root@localhost yiibai]#

Shell

实例2: 搜索etc目录下所有以sh开头的文件

命令:

locate /etc/sh

Shell

执行演示及输出:

[root@localhost yiibai]# locate /etc/sh
/etc/shadow
/etc/shadow-
/etc/shells
[root@localhost yiibai]#

Shell

实例3:搜索etc目录下,所有以i开头的文件

命令:

locate /etc/i

Shell

执行演示及输出:

[root@localhost yiibai]# locate /etc/n
/etc/networks
/etc/nsswitch.conf
/etc/nsswitch.conf.bak
[root@localhost yiibai]# locate /etc/i
/etc/init.d
/etc/inittab
/etc/inputrc
/etc/iproute2
/etc/issue
/etc/issue.net
/etc/iproute2/ematch_map
/etc/iproute2/group
/etc/iproute2/nl_protos
/etc/iproute2/rt_dsfield
/etc/iproute2/rt_protos
/etc/iproute2/rt_realms
/etc/iproute2/rt_scopes
/etc/iproute2/rt_tables
[root@localhost yiibai]#

标签:locate,档案,etc,命令,usr,root,localhost
From: https://blog.csdn.net/unbelievevc/article/details/143103525

相关文章

  • Clickhouse的使用以及常见命令
    一、添加clickhouse1.下载驱动程序2.进行连接3.显示所有的架构,包括系统架构二、命令语句1.展示所有的数据库showdatabases;2.创建一个数据库叫bigdata32(ifnotexists表示如果该库不存在就进行创建)createdatabaseifnotexistsbigdata32;3.创建表--创建数据......
  • Linux常用命令
    以下是一些常用的Linux命令及其作用:ls:列出当前目录下的文件和文件夹。cd:切换当前工作目录。pwd:显示当前工作目录的绝对路径。mkdir:创建新目录。rm:删除文件或目录。cp:复制文件或目录。mv:移动文件或目录,也可用于重命名文件。touch:创建空文件或修改文件的访问和修改时间。......
  • 【子项目:命令系统(Command System)】C++自制命令系统( 开发ing | 踩坑记录 )
    项目背景在某一项目中,遇到了需要自制命令系统的需求,而这个模块的复用性很高,因此单独拉出来做一个子项目更新日志[2024.10.15-10:00]增项目进度----[2024.10.1510:00]----首先实现最基础的输入输出功能,用std::getline读入行再分割成字符串数组-main.cpp#include......
  • 【Linux】cp -r 命令实验
    1.命令说明 命令:cp-r source dest说明:该命令复制source 到 dest。可以单个文件复制,也可以带目录层级复制。     source是具体文件时,dest如果是目录,即带/的,则文件生成在dest目录中。如果dest是不带/的,文件换名为dest文件,内容复制过去。    ......
  • 要使用 netsh 命令更新以太网连接的 IPv6 DNS 服务器地址,可以通过以下步骤进行操作。
    要使用netsh命令更新以太网连接的IPv6DNS服务器地址,可以通过以下步骤进行操作。以下是设置IPv6DNS的命令示例。使用 netsh 设置以太网的IPv6DNS打开命令提示符:以管理员身份运行命令提示符。输入以下命令:bashCopyCodenetshinterfaceipv6setdnsname......
  • linux目录和文件命令
    目录命令ls功能:显示目录的列表用法ls[参数][对象]-a:显示所有文件,包括隐藏文件-l:显示文件详细信息-t:按照时间顺序排序-r:逆向排序pwd功能:显示当前目录的绝对路径用法:pwdcd功能:切换操作目录用法:cd[对象].当前目录..上一层目录上一次所在目录~home目......
  • Linux常用命令
    1、cd-切换当前目录这是一个最基本,也是最常用的命令,它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径。cd/root #切换到目录/rootcd./path #切换到当前目录下的path目录中,“.”表示当前目录cd../path #切换到上层目录中的path目录中,“..”......
  • java启动命令详解
    java-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8002-server-Xms4g-Xmx6g-XX:+HeapDumpOnOutOfMemoryError-XX:HeapDumpPath=/data/data/dump.bin-Dfile.encoding=UTF-8-Djava.awt.headless=true-XX:+UseG1GC-XX:MaxGCPauseMillis=200-XX:G1H......
  • Docker常用命令记录(随时更新)
    Docker常用命令镜像操作保存镜像为tar包dockersave-o<文件名>.tar<镜像名>:<版本号>例如:dockersave-omyimage.tarmyimage:latest从tar包加载镜像dockerload-i<文件名>.tar例如:dockerload-imyimage.tar查看本地所有镜像dockerimages可以加......
  • Linux 中 awk命令整列的替换
     001、测试数据[root@localhosttest2]#lsa.txt[root@localhosttest2]#cata.txt0102030405060708091011121314151617181920212223242526......