首页  

Linux查找命令使用及其区别     所属分类 linux 浏览量 1474
find 根据条件查找文件
在硬盘上遍历查找,效率低且消耗资源 建议优先使用whereis和locate。 

locate 是在数据库里查找,数据库大至每天更新一次。 
whereis 可以查找可执行命令和man page 
which 查找可执行文件和别名(alias)

find <指定目录> <指定条件> <指定动作>

指定目录 设置搜索的目录及其所有子目录。默认为当前目录。
指定条件 搜索的文件类型特征。
指定动作 对搜索结果进行特定的处理。

如果不加任何参数,find默认搜索当前目录及其子目录,并且不过滤任何结果 ,返回所有文件

find . -name 'tomcat*'
find . -name 'tomcat*' -ls
搜索当前目录中,所有文件名以tomcat开头的文件,显示详细信息。

find . -type d  -name 'metric*'
-type d  文件夹

find . -type f -mmin -10
搜索当前目录中,所有过去10分钟中更新过的普通文件。如果不加-type f参数,则搜索普通文件+特殊文件+目录。

locate命令 是“find -name”的另一种写法,但是要比后者快得多,
它直接搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。
Linux系统自动创建这个数据库,并且每天自动更新一次,因此locate命令查不到最新变动过的文件。
可以在使用locate之前,使用updatedb命令,手动更新数据库。

locate tomcat
搜索所有tomcat开头的文件 
locate -i tomcat
忽略大小写

whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。
whereis java

 whereis grep
grep: /usr/bin/grep /usr/share/man/man1/grep.1.gz

which 在PATH中搜索命令 返回第一个
which java
/root/soft/jdk1.8.0_181/bin/java

type 用来区分某个命令是由shell自带的,还是由shell外部的独立二进制文件提供的。
如果一个命令是外部命令,使用-p参数,会显示该命令的路径,相当于which命令

type cd
cd 是 shell 内嵌

type -p java 
/root/soft/jdk1.8.0_181/bin/java

上一篇     下一篇
币圈修炼指南

让程序员抓狂的那些事儿

管理者必须掌握的​七个实用管理工具

分布式id生成方案

linux常用命令实战

linux系统管理常用命令实战