Linux常用命令之搜索命令
Linux下查找相关命令主要有以下4个:which、whereis、locate、find,外加一个关键字行搜索grep
4个命令的比较如下表所示:
一、最常用的搜索命令:find
注意:Linux搜索和windows是有明显区别的,Linux严格区分文件大小写。
1.1、根据 文件或目录名称 搜索
- find 【搜索目录】【-name或者-iname】【搜索字符】:-name和-iname的区别一个区分大小写,一个不区分大小写
- find /etc -name init (精准搜索,名字必须为 init 才能搜索的到)
- find /etc -iname init (精准搜索,名字必须为 init或者有字母大写也能搜索的到)
- find /etc -name *init (模糊搜索,以 init 结尾的文件或目录名)
- find /etc -name init??? (模糊搜索,? 表示单个字符,即搜索到 init___)
1.2、根据 文件大小 搜索
比如:在根目录下查找大于 100M 的文件
find / -size +204800
这里 +n 表示大于,-n 表示小于,n 表示等于
1 数据块 == 512 字节 ==0.5KB,也就是1KB等于2数据块
100MB == 102400KB==204800数据块
1.3、根据 所有者和所属组 搜索
①、在home目录下查询所属组为 root 的文件
find /home -group root
②、在home目录下查询所有者为 root 的文件
find /home -user root
1.4、根据 时间属性 搜索
find 【路径】【选项】【时间】
选项有下面三种:-amin 访问时间last visit minite
-cmin 文件属性被更改create
-mmin 文件内容被修改modify
时间:+n,-n,n分别表示超过n分钟,n分钟以内和n分钟
范例:在 /etc 目录下查找5 分钟内被修改过属性的文件和目录
find /etc -cmin -5
1.5、根据 文件类型或i节点 搜索
-type 根据文件类型查找:f表示文件,d表示目录,l表示软链接
范例:查找 /home 目录下文件类型是目录的 find /home -type l
-inum 根据i节点查找
范例:查找 /tmp 目录下i节点为400342的文件或目录 find /tmp -inum 400342
1.6、组合条件 搜索
这里有两个参数:
①、-a 表示两个条件同时满足(and)
②、-o 表示两个条件满足任意一个即可(or)
范例:查找/etc目录下大于80MB同时小于100MB的文件
find /etc -size +163840 -a -size -204800
二、在文件资料库中查找文件命令:locate
作用:find files by name from one or more databases prepared by updatedb. 同whereis指令一样,也是从数据库建立的索引中查找,不同的是该命令查找所有部分匹配的文件,使用之前可以使用updatedb命令手动更新数据库。
原理:默认情况下(当filename中不包含通配符*),locate会给出所有与*filename*相匹配的文件的路径。
适用场合:没有文件类型性质的模糊查找(你只记得某个文件的部分名称)
语法:locate【文件名】
-i 不区分大小写
注意:这里和 find 命令是有区别的,find是全盘检索,而locate 是在文件资料库中进行搜索。所以locate命令的执行要比find命令执行速度快很多。但是这里有个问题,文件资料库是需要不断更新的。我们新创建的文件如果不更新 文件资料库,使用 locate 是查找不到的。
updatedb 手动更新资料库,但是对于/tmp目录下的新建文件,是更新不到文件资料库的,因为/tmp目录不属于文件资料库的收录范围。
三、搜索命令所在的目录及别名信息:which
作用:locate a command,从环境变量PATH中,定位/返回与指定名字相匹配的可执行文件所在的路径
原理:执行which命令时,which会在当前环境变量PATH中依次寻找能够匹配所找命令名字的可执行文件名,不加-a选项,返回第一个匹配的可执行文件的路径,否则依 次返回满足条件的所有可执行文件的路径名。
适用场合:一般用于查找命令/可执行文件所在的路径。有时候可能在多个路径下存在相同的命令,该命令可用于查找当前所执行的命令到底是哪一个位置处的命令。
四、搜索命令所在的目录及帮助文档路径:whereis
作用:locate the binary, source, and manual page files for a command.即:定位/返回与指定名字匹配的二进制文件、源文件和帮助手册文件所在的路径。
原理:whereis命令首先会去掉filename中的前缀空格和以.开头的任何字符,然后再在数据库(var/lib/slocate/slocate.db)中查找与上述处理后的filename相匹配的二进 制文件、源文件和帮助手册文件,使用之前可以使用updatedb命令手动更新数据库。
适用场合:二进制文件、源文件和帮助手册文件路径的查找。
注:whereis 和 which 的功能差不多,用法也是后面跟一个要查找的命令,都是用来查找命令文件的。查找结果除了显示命令所在的命令以外,where 不会列出要查找的命令的别名相关的信息,而是会列出这个命令的帮助文档所在的目录。
五、在文件中搜寻字符串匹配的行并输出:grep
功能描述:在文件中搜寻字符串匹配的行并输出
语法:grep -iv 【指定字符串】【文件】
-i 不区分大小写
-v 排除指定字符串
范例:查找 /root/install.log 文件中包含 mysql 字符串的行,并输出
grep mysql /root/install.log
在 Linux 的配置文件中,「#」代表注释,如果我想看配置文件的内容,但是不想看注释,就可以在搜索文件内容时排除「#」所在的行。就可以这样做:grep -v [#] /etc/inittab 或者
grep -v ^# /etc/profile (不显示以#开头的行)
摘自:https://blog.csdn.net/u010625000/article/details/44455023
Linux常用命令之搜索命令相关推荐
- LInux常用的60个命令,小白必须掌握的命令
login 1.作用 login的作用是登录系统,它的使用权限是所有用户. 2.格式 login [name] [-p][-h 主机名称] 3.主要参数 -p:通知login保存现在的环境参数. -h ...
- Linux 常用的二十个命令
Linux 常用的二十个命令 文章目录 Linux 常用的二十个命令 ctrl + L Is pwd cd **认识 Linux 目录结构** 命令提示符 **绝对路径 vs 相对路径** touch ...
- 史上最全的Linux常用——目录和文件管理命令——收藏这一篇就够了!(超全,超详细)
史上最全的Linux常用--目录和文件管理命令--收藏这一篇就够了!(超全,超详细) Linux目录结构 命令 查看文件内容:-cat 查看文件内容:-more 查看文件内容:-less 查看文件内容 ...
- Linux常用而且好玩的命令
Linux常用而且好玩的命令 关于date其实不需要多做解释,看看上面的图应该就可以理解 %Y表示年 %m表示月 %d表示日 %H表示时 诸如此类,有时间我们会校对时间,这时就会用的ntp服务,忘记的 ...
- Linux常用命令--文件搜索命令
本文主要记录Linux常用命令中的文件搜索命令,如下. 文件搜索命令locate 命令搜索命令 whereis 与which 文件搜索命令 find 字符串搜索命令grep find命令与grep的区 ...
- linux常用基础命令——文件搜索命令
不管是Linux系统还是Windows系统最好是少用搜索,在服务器规划时就规划好文件的存放,不要随便瞎放,因为搜索功能会占用大量的系统资源.如果实在要查找,不要在服务器业务高峰期进行此操作,查找的目录 ...
- Linux学习4之常用命令--文件搜索命令
一.文件搜索命令 find 语法:find [搜索范围] [匹配条件] {find [搜索范围] [搜索模式] [搜索条件]} 1.以文件名来查找 -name(区分大小写)-iname (不区分 ...
- [Linux学习笔记] Linux常用命令 - 文件搜索命令
2019独角兽企业重金招聘Python工程师标准>>> 文件搜索命令 1. 显示系统命令所在目录: which 命令名称: which 命令所在路径: /usr/bin/which ...
- Linux常用的文本查找命令 find
一.常用的文本查找命令 grep.egrep命令 grep:文本搜索工具,根据用户指定的文本模式对目标文件进行逐行搜索,先是能够被模式匹配到的行.后面跟正则表达式,让grep工具相当强大.-E之后还支 ...
最新文章
- axure 导入元件库显示不出白框_AXURE免费元件库分享-web
- windows 2008 下C#调用office组件访问拒绝的解决方法(failed due to the following error: 80070005 拒绝访问)...
- 关于虚函数的应用(10个例子)
- python库迁移到没有网的电脑_python实现数据库跨服务器迁移
- 安装cleanmymac软件提示已损坏无法打开,如何解决?
- 6.GD32F103C8T6 定时器的基本使用
- 揭秘ASP.NET 2.0的Eval方法
- 1、linux网络服务实验 用PuTTY连接Linux
- 多元线性回归dw值_SPSS教程10:多元线性回归
- 纹理坐标不在[0,1]内时的纹理效果
- 数学建模常用的分析法及其MATLAB实现
- 模型类中的常用字段类型
- Premiere Pro之经典类转场
- 中国电信物联网平台入门学习笔记2: DOME程序分析
- 【将Cityscape和Foggy_Cityscape转换为PASACAL VOC格式的目标检测数据集】
- 如何做系列(5)-james mail安装总结
- u盘安装系统win2019服务器系统,U盘启动装WIN10系统教程,U盘安装WIN2019方法,UltraISO将Windows server 2016/2019安装盘ISO写入U盘进行安装...
- dw01均衡电路_电池平衡电路工作原理
- spring boot网上眼镜商场毕业设计-附源码241659
- Android渠道包构建流程
热门文章
- 你看到的是乱,我看到的是月亮,如是而已。
- python运行代码不成功_命令行执行python模块时提示包找不到的问题
- 前端_什么是页面重构
- 产品经理经典面试题or笔试题
- 酷家乐如何使用 Istio 解决新服务治理系统(Serverless)接入已有成熟自研 Java 服务治理体系...
- 学习MySQL看这一篇就够了
- Ubuntu18 的超详细常用软件安装
- 互联网金融诈骗不缺受害者, 有人刚被3M坑了又投入CA
- Debian9的各个版本的下载地址
- 人事考试在线报名系统新突破,一键触达“智慧考试”