您的位置:首页 > 运维架构 > Linux

四.Linux系统中文搜索命令

2016-04-22 22:30 309 查看
***文件搜索命令locate

**locate命令格式

*格式:locate 文件名

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

*/var/lib/mlocate

#locate命令所搜索的后台数据库

*updatedb

更新数据库

优点:速度快

缺点:只能搜索文件

***命令搜索命令whereis与which

**搜索命令的命令whereis

*格式:whereis 命令名

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

选项:

-b:只查找可执行文件

-m:只查找帮助文件

缺点: 只能搜索系统命令的所在位置,而不能搜索所创建的普通文件

**搜索命令的命令which

其用法跟whereis类似,只是它不仅可以查出系统命令的所在位置,还会查出该系统命令的别名

因此该连个命令的搜索是依赖于Linux下的定义的PATH即环境变量

***文件搜索命令find

*格式:find [搜索范围] 选项 [搜索条件]

#搜索文件

#避免大范围搜索,会非常耗费系统资源

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

**扩展:Linux系统中的通配符

* 匹配任意内容

? 匹配任意一个字符

[] 匹配任意一个中括号内的字符

**选项:

-name :按文件名字查找

-iname:按文件名查找,不区分大小写

-user:按所有者搜索

-nouser:查找没有所有者的文件

-atime:按文件访问时间

-mtime:按修改文件内容时间

-ctime:按文件属性

-size:按文件大小

-inum:按文件的i节点

**扩展:find的复杂操作

*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 {} \;

#查找/etc/目录下,大于20kb并且小于50kb的文件,并显示详细信息

#-exec/-ok 命令 {} \;对搜索结果执行操作

***字符串搜索命令grep

**格式:grep [选项] 字符串 文件名

#在文件当中匹配符合条件的字符串

选项:

-i:忽视大小写

-v:排除指定字符串

***find命令与grep命令的区别

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

**grep命令:在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式包含匹配
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: