which : 命令是查找命令是否存在,以及命令的存放位置在哪儿。

如果没有查到他将返回no XXX in (查找过的路径)....

这必须是可执行权限的文件,而且必须是存放在上面这些目录中才可以用查找到的,上面的目录是以:号进行分隔的。。。

但是如果查找成功他将返回查找到的路径并且显示出来。。。

whereis : 命令只能用于搜索程序名,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。

第一个框: usr/bin  这里一般都是防止可执行文件的

第二个框: etc 下这李幼斌都是配置文件的

第三个框:  这里一般都是放置手册之类的。。

如果他是不存在的,那么他会返回如下形式的提示:

which  和  whereis 的最大区别是 which 是在指定的地方查找有么有该执行文件,whereis  他则会查找跟您这个名字相关的他都会列出来。

但是whereis  和   locate 在查找的时候都是通过自己的一个DB数据库来进行查找的,所以很有可能会很多东西都没有找出来。。。。

locate :命令不是实时查找,所以查找的结果不精确,但查找速度很快。因为它查找的不是目录,而是一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。

有可能linux  上没安装,那么首先安装一下即可:

然后再安装一个 *locate

然后再用命令  updatedb   更新下即可。。

完成后在用locate 搜索下passwd 做实验。。

这里有点类似模拟查询的样子,所以我们来做一个重点向输出,让他看起来更美观一点,如下所示:

然后用vim  对她进行查看

进入的时候是看不到左侧的数字的,我们需要先按一个   ESC  键, 然后再输入  :set nu 回车即可看到左侧的行号信息了。。。

其实locate 更多的是是像模糊查询。。。。。。

locate和whereis 都是有自己的db库的。。

小结:

which--------查找到的是一些可执行的程序

whereis------查到到的都是程序相关的配置文件和帮助信息

locate-------按照匹配度查找,更多的都是模糊信息,比如名字只记得一点点

find:是最常用和最强大的查找命令。它能做到实时查找,精确查找,但速度慢。

由于他和   windows   下的查找差不多,都是在交换分区里面进行仔细查找的,所以速度方面可能会比较慢,,所以不是很推荐使用他。

如果直接输入find 那么他显示的内容将是很全面的,包括隐藏的内容他都会显示出来,效果如下所示:

所以说在在不用任何关键字的前提下他就表示所有的。。。

find的常用场景如下所示:

-atime:表示某个文件我在打开(读取)他的时间。。。

-ctime:状态时间,如权限修改,内容更改,写之类的都是属于状态时间

-mtime:修改时间,如文件名称修改,文件内容修改他的时间都会发生变化的

使用方法1:

这里的  0  表示查看24小时内改动过的文件。。。

如果这里的  0  改成    5  那么他显示的是前5天我修改过的文件。。

0 是24小时内  5  是前  5  天(当天)修改过的内容如此类推。。。

如果我想查看30天之前的:

看到这类似报错的,其实也不用还怕,因为这台linux的服务器我是用来做测试的,他也就是刚搭建起来没多久的。。。。

如果改成 find / mtime +5   那也是行的,代表5天前操作过的文件,5天前至到所有的。。。。。。。。

如果改成 find / mtime -5   那也是行的,代表是5天以内发生操作的所有文件。。。

如果没有  +    和   -   那么只是一天时间内发生的而已。。。

atime  ctime  mtime  这三个的用法都是相同的。。。。

用法2:

查找用户相关的文件

如果使用  find / -user 用户名,这样他会在全盘进行搜索的,如过服务器上数据比较多,不支持用这种方法进行搜索

find /home -user  用户名,如果使用着用的搜索,那就会快得多了,因为他只需要在一个目录下搜索而已。。。。。

find / -nouser:这是查找有没有一个文件不属于任何用户和不属于任何用户组的。。。

这种方法一般都比较慢。。。

find / -group lisi :这是查找一个用户组的。

查找一个用户和查找一个用户组其实很多时候都是没什么区别的,因为用户组和用户的名称是一样的。。

正常情况下目录带task 和  fd  开头的都不用怎么关心,因为一般都是没这个目录的,更多时候说明系统在运行什么东西,但是他没产生出信息出来。。。。

如果使用find / -name 文件名,根据文件名称查找(严格区分大小写,如果文件名中间有空格,则必须把文件名用双引号引起来),用法如下所示:

当然如果不想让他区分大小写,那么只需要在name  前加一个   i   即可,如 find / -iname 文件名

这个主要是查找全部关键字匹配的。。。

find /home -type f:这里是查找home目录下的普通文件,这里的  f   是文件  file   的简写,用法如下所示:

find的特殊功能。。

比如要查找一个大于或者等于10M的文件

这些在linux里面用的还是比较少的。。。

如果忘记名字了还可以用*号来进行模糊查询,如下所示:

还是那句话,如果能用 which 和 whereis 以及 locate  能查到能发就尽量不要使用  find  来查找,因为find  要读取硬盘,速度会比较慢。。。。。。。。。

转载于:https://www.cnblogs.com/leigood/p/7087045.html

夺命雷公狗---linux NO:17 linux系统查找相关推荐

  1. 夺命雷公狗TP3.2.3商城2-----后台模版引入和后台控制器的创建

    首先我们来到D:\phpStudy\WWW\shop\WEB  目录下,将Home目录进行复制一份,并且改名为Admin,如下所示: 然后将我们准备好的后台首页模版放入   D:\phpStudy\W ...

  2. 夺命雷公狗ThinkPHP项目之----商城1项目整体架构

    夺命雷公狗项目之---商城 本人准备更新套基于tp下开发的商城的项目,为啥呢?原因和简单,本人没使用过框架开发商城,准备用一些时间来开发套B2C的商城系统.. 项目规划: 1:项目整体架构 用户部分 ...

  3. 夺命雷公狗—玩转SEO---62---TF-IDF核心算法与运用

    比如我们站点有一篇文章,搜索引擎想过来提取一篇文章的关键词,这是涉及到数据挖掘.文本处理.信息检索等很多的领域,但是出乎意料的是,有一个非常简单的经典算法,可以给出令人相当满意的结果.它简单到都不需要 ...

  4. 夺命雷公狗—玩转SEO---54---网站标题主词方法与中文分词原理运用

    每个网站都是需要找主词的,主词寻找方法其实可以通过5118来实现,方法如下所示: 直接搜索一下,看下那个词更加适合自己,就直接采用那个词来做即可,当然这是需要对自己所做的产品有所了解才可以选择主词的, ...

  5. 夺命雷公狗---微信开发26----客服消息接口基础和推送视频

    我们按照上一课的套路继续改写下index.php即可实现,代码如下所示: <?php /*** wechat php test*///define your token require_once ...

  6. 夺命雷公狗---微信开发39----微信语言识别接口1

    语音识别接口的基本介绍 注意: 由于客户端缓存,开发者开启或者关闭语音识别功能,对新关注者立即生效,对已关注用户需要24小时生效,开发者可以从新关注帐号进行测试. 我们可以在测试号下方的体验接口权限表 ...

  7. 夺命雷公狗-----React---5--props对象的传递

    提示:props的值是不可以改变的... <!DOCTYPE html> <html lang="en"> <head><meta cha ...

  8. 夺命雷公狗—玩转SEO---56---query需求分析与搜索意图研究

    做排名4大核心因素: 域名 页面质量 链接 用户行为 我们需要了解什么是query: 我们直接百度一个词,然后F12键盘,进入审查的界面然后进入network,然后找一个jQuery的反馈,如下所示: ...

  9. 夺命雷公狗ThinkPHP项目之----商城10商品属性管理

    我们一般做项目前就要分析业务逻辑先,这次也不例外. attr_type:是指属性的类型,有唯一,单选和多选之分 唯一属性,是指用户在购买商品时,可以看到的扩展属性如下图所示: 单选属性,是指用户在购买 ...

  10. 夺命雷公狗ThinkPHP项目之----商城9商品后台无限极分类

    无限极分类,几乎在每个网站上都会用到的,因此而重要. 先来对数据表进行分析 parent_id:表示当前分类的父id,他是实现无限级分类的关键 无限级分类,主要从两个方面进行考虑的. 1.数据库的设计 ...

最新文章

  1. DeepFake 新高度:一阶运动模型让“万物皆可动”
  2. 学习linux决心书
  3. Kali Linux软件更新日报20190623
  4. 在MATLAB中,用Simulink搭建一个二阶传递函数模型
  5. php 根据输入值读取MySQL_MySQL输入PHP给出的另一个值
  6. 各种光源(灯)的光谱
  7. python 分类 投票_LightGBM——提升机器算法(图解+理论+安装方法+python代码)
  8. 关于EXP-00056: 遇到 ORACLE 错误 1455 ORA-01455: 转换列溢出整数数据类型 EXP-00000: 导出终止失败 的问题解决方法整理
  9. java 父子级json组装不用递归_初级Java程序员如何进阶
  10. python 数据可视化sns作图
  11. GIS是个什么鬼,真的开眼了。感谢好学生的奉献。
  12. 博途PLC ADRC自抗扰控制完整SCL源代码
  13. 可恶的as3.0,下载一个所谓的绿色flash cs5,竟然提示JAVA运行时环境初始化错误,请重新安flash
  14. FZU2214 超大背包
  15. 使用U8G2在oled屏幕上显示胡桃摇动画
  16. 适用于 Windows 的 5 大 PDF 编辑器
  17. UNIX的名字是我起的——对话 UNIX 开发者:Brian W. Kernighan
  18. 指数法和Random Forest实现山东省丰水期地表水体信息
  19. Gradle版本对应关系
  20. 基于 UDP 的 组播、广播详解

热门文章

  1. golang中的strings.Count
  2. char N2Char(int n)函数:将一个整数转换为字符串,并放入一个字符串中
  3. springmvc二十二:annotation-driven标签
  4. foo、bar到底是什么意思
  5. 独家 | 一文读懂Apache Kudu
  6. UILabel 调整行间距
  7. 取得Linux系统的各种统计信息
  8. Jquery通过ajax请求NodeJS返回json数据
  9. Visual Studio Debug和Release的区别及obj的作用
  10. 深入理解IOC模式及Unity框架