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