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

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命令:在文件其中搜索符合条件的字符串。假设须要匹配,使用正則表達式进行匹配。正則表達式是包括匹配


    







posted @ 2017-07-07 12:35  yxysuanfa  阅读(211)  评论(0编辑  收藏  举报