Linux的五个查找命令
1. find 最常见且最强大的命令,可以查找任何文件。
格式
$ find 指定目录 指定条件 指定动作
指定目录: 所要搜索的目录及其子目录,默认当前目录。
指定条件: 所要搜索的文件的特征。
指定动作: 对搜索结果进行特定的处理。
提醒:如果什么参数都不给,find默认在当前目录及其子目录中
查找,并将所有结果返回到计算机的屏幕上。
例如:
$ find . -name ‘qq*’ -ls
在当前目录及其子目录下查找含有 ‘qq’打头的所有文件,并显示详细信息
例如
$ find . -type f -mmin -10
搜索当前目录,过去十分钟中更新过的普通文件。
如果不加 -type参数 则检索 普通文件 + 特殊文件 + 目录
-----------------------------------------------------------------
2. locate
locate实际上是 “ find -name” 的另一种写法,但是比find快的多。
因为 locat不 检索具体目录,而只是检索一个数据库( /var/lib/locatedb),
这个数据库中含有本地所有文件信息。该数据库每天更新一次,如果你变动了需要手动强制刷新。
即 locate 不能检索到 最近(一天内)更新的内容。
如果向检测到今天更新的内容,需要先用 “ updatedb “ 命令
例如
$ locate /etc/sh
检索etc目录下所有以sh开头的文件;
$ locate -i ~/qq
检索用户主目录下,所有以qq开头的文件;并且忽略大小写
------------------------------------------------------------------------------
3. whereis
只能用于 程序名 的检索,而且只能够检索二进制文件 (参数 -b)、man说明文件 (参数 -m)、
和源代码 (参数 -s)。
如果省略参数,则返回信息。
例如
$ whereis grep
---------------------------------------------------------------------------------------------------------------
4. which
作用: 在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。
也就是说,使用 which 命令,就可用看到某个命令是否存在,以及执行的到底是哪一个位置的命令。
例如
$ which grep
-----------------------------------------------------------------------------------------------
5. type
type命令其实算不上查找命令。
它是用来区分某个命令是由shell自带的,还是有shell外部的独立二进制文件提供的。
如果一个命令 是外部命令,那么使用 -p 参数,就会显示该命令的路径,相当于which。
例如
$ type cd
系统提示,cd是shell的自带命令
$type grep
系统提示,grep是一个shell的外部命令,因此会给出一个路径
$ type -p grep
相当于 which命令查找
from
参考