1、whereis和which
locate比find快很多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库包含本地所有文件信息。linux自动创建这个数据库,并且每天自动更新一次,所以使用Locate命令查不到最新变动过的文件。可以在使用Locate前,先使用updatedb命令。
E:locate /etc/sh 搜索etc目录下所有以sh开头的文件 locate -i ~/m 搜索用户主目录下,所有以m开头的文件,并且忽略大小写 locate pwd 查找和pwd相关的所有文件
whereis 命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)、源代码文件(参数-s)。同locate一样,查询数据库(/var/lib/locatedb)文件。
E:whereis grep
which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
E:which grep
2、查找某个目录下的文件用:find和locate
find 指定查找目录 查找规则 查找完后的动作
指定查找目录:E:find /etc /tmp /root -name passwd 其中 . 表示当前目录
查找规则: E:根据文件名查找 find / -name "pass*" 查找以pass开头的文件 * 通配任意的字符 ?表示通配任意的单个字符 [ ]通配括号里面的任意一个字符
-iname 查找时不区分大小写 -user根据属主来查找文件 -group根据属组来查找文件
查找完后的动作:-print 默认情况下的动作
-ls 查找后用ls显示出来