Linux常用命令002之搜索命令locate、whereis、which、find、grep

时间:2022-03-07 09:23:44

Linux常用命令002之搜索命令locate、whereis、which、find、grep

-20150811


常用搜索命令

-------文件搜索命令----------

-->locate命令  --速度比find快

locate 文件名
在后台数据库中按文件名搜索,搜索速度更快

/var/lib/mlocate
#locate命令所搜索的后台数据库

updatedb命令
--新建的文件用locate命令搜索不到,更新数据库后可以
--可以手动更新数据库 updatedb

缺点:只能按照文件名搜索


--------命令搜索命令----------

-->whereis 命令

whereis 命令名
#搜索命令所在路径及帮助文档所在位置

选项:
  -b    ----只查找可执行文件
  -m    ----只查找帮助文件


-->which 文件名
#搜索命令所在路径及别名


----------------补充-----------------------

PATH环境变量:定义的是系统搜索命令的路径

[soft01@tarena ~]$ echo $PATH

/usr/lib/qt-3.3/bin:/usr/local/jdk/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin

------------------------------------------


-------文件搜索命令----------

-->find命令

find [搜索范围] [搜索条件]
#搜索文件


--eg:find / -name install.log
#避免大范围搜索,会非常消耗系统资源
#find是在系统当中搜索符合条件的文件名。如果需要匹配,使用通配符匹配,通配符是完全匹配。

-------补充:linux中的通配符---------

*     ----匹配任意内容
?     ----匹配任意一个字符
[]    ----匹配任意一个中括号内的字符

-----------------------------------------

--eg:find /root -iname install.log
#不区分大小写

-eg:find /root -user root
#按照所有者搜索

--eg:find /root -nouser
#查找没有所有者的文件

--eg:find /var/log/ -mtime +10
#查找10天前修改的文件

-10        ----10天内修改文件
10         ----10天当天修改的文件
+10        ----10天前修改的文件

atime   ----文件访问时间
ctime   ----改变文件属性
mtime   ----修改文件内容

--eg:find . -size 25k
#查找文件大小是25kb的文件
# . 表示当前目录

-25k    ----小于25kb的文件
25k     ----等于25kb的文件
+25k    ----大于25kb的文件

k、M    ----k小写、M大写


--eg:find . -inum 262422
#查找i节点是262422的文件
#ls -i    --查看i节点


--eg:find /etc -size +20k -a -size -50k
#查找/etc/目录下,大于20kb并且小于50kb的文件

-a  and  逻辑与,两个条件都满足
-o  or   逻辑或,两个条件满足一个即可


--eg:find /etc -size +20k -a -size -50k -exec ls -lh {} \;
#把find命令查找出来的文件交给exec后的命令处理,{} \;必须写



-------字符串搜索命令--------

-->grep命令

grep [选项] 字符串 文件名
#在文件当中匹配符合条件的字符串

选项:
  -i    ----忽略大小写
  -v    ----排除指定字符串


-->find命令与grep命令的区别

--find命令:在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配

--grep命令:在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式是包含匹配

点击打开原文章链接