Linux查找命令使用及其区别
所属分类 linux
浏览量 1447
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系统管理常用命令实战