您的位置:首页 > 运维架构 > Shell

Shell命令-搜索文件或目录之whereis、locate

2019-06-13 08:08 1406 查看

文件及内容处理 - whereis、locate

1. whereis:查找二进制命令,按环境变量PATH路径查找

whereis命令的功能说明

whereis
命令用于查找文件。该指令会在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件。该指令只能用于查找二进制文件、源代码文件和
man
手册页,一般文件的定位需使用
locate
命令。

whereis命令的语法格式

whereis
[options] [-BMS directory... -f] name...
whereis
[-bfmsu][-B <目录>...][-M <目录>...][-S <目录>...][文件...]

whereis命令的常用参数说明:

whereis
参数不多,表1为
whereis
命令的参数及说明:

表1:

whereis
命令的参数及说明

参数选项 解释说明
-b  只查找二进制文件。
-B<目录>  只在设置的目录下查找二进制文件。
-f  不显示文件名前的路径名称。
-m  只查找说明文件。
-M<目录>  只在设置的目录下查找说明文件。
-s  只查找原始代码文件。
-S<目录>  只在设置的目录下查找原始代码文件。
-u  查找不包含指定类型的文件。

whereis命令的实践操作

范例1: 使用指令

whereis
查看指令
cp
的位置,输入如下命令

[root@m01 ~]# whereis cp
cp: /usr/bin/cp /usr/share/man/man1/cp.1.gz

注意:以上输出信息从左至右分别为查询的程序名、

cp
路径、
cp
man
手册页路径

范例2: 单独查询二进制文件或帮助文件,可使用如下命令

[root@m01 ~]# whereis -b cp
cp: /usr/bin/cp
[root@m01 ~]# whereis -m cp
cp: /usr/share/man/man1/cp.1.gz

2. locate:标注从数据库 (/var/lib/mlocate/mlocate.db) 查找命令,使用updatedb更新库

locate命令的功能说明

locate
命令用于查找符合条件的文档,他会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录。一般情况我们只需要输入
locate your_file_name
即可查找指定文件。CentOS 7已经没有此命令,需手动安装,方法为:

yum install -y mlocate

locate命令的语法格式

locate
[--version]
locate
[-d ][--help][--version][范本样式...]

locate命令的常用参数说明:

locate
参数不多,表1为
locate
命令的参数及说明:

表1:

locate
命令的参数及说明

参数选项 解释说明
-d或--database= 配置locate指令使用的数据库。locate指令预设的数据库位于/var/lib/slocate目录里,文档名为slocate.db,您可使用 这个参数另行指定。
--help 在线帮助。
--version 显示版本信息。

locate命令的实践操作

范例1: 查找

passwd
文件,输入以下命令

locate passwd

附加说明

locate
find
不同:
find
是去硬盘找,
locate
只在
/var/lib/slocate
资料库中找。
locate
的速度比
find
快,它并不是真的查找,而是查数据库,一般文件数据库在
/var/lib/slocate/slocate.db
中,所以
locate
的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护,也可以手工升级数据库 ,命令为

locate -u

今天就写到这里,有什么疑问或出现什么错误,随时欢迎大神们发表评论指点迷津

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: