本文主要记录Linux常用命令中的文件搜索命令,如下。

  • 文件搜索命令locate
  • 命令搜索命令 whereis 与which
  • 文件搜索命令 find
  • 字符串搜索命令grep
  • find命令与grep的区别

1 文件搜索命令locate

locate [filname]

locate命令搜索文件是基于后台数据库搜索的,在后台数据库中按文件名搜索,搜索速度更快所以比find那种需要扫描所有地方的命令的搜索速度要快些,且消耗资源比较小。

后台数据库目录 /var/lib/mlocate  一天一更新,因此对于刚建立的文件,使用该命令进行查找将会搜索不到所创建的文件。这个时候若想使用该命令查找文件,使用命令updatedb更新数据库即可。这里需要使用管理员权限哟。。

updatedb

linux版本不同目录可能不同 可使用locate locate命令查找相关文件

/etc/updatedb.conf 配置文件,配置筛选规则 locate\whereis\which命令会按照这个配置文件搜索文件,

PRUNE_BIND_MOUNTS = "yes"
#开启搜索限制 yes 表示配置项全生效 no 表示配置项不生效
PRUNEFS =
#搜索时,不搜索的文件系统
PRUNENAMES =
#搜索时,不搜索的包含这些关键字的文件
PRUNEPATHS =
#搜索时,不搜索这些路径下更新的文件

优点:搜索速度快

缺点:只能按照文件名来搜索

2 命令搜索命令whereis /which

#whereis /which查看的都是外部安装的命令 不能查看shell内部命令 比如cd

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

选项:

-b   只查找可在执行文件

-m  至查找帮助文件

举个例子 查找ls命令

/bin/ls 代表命令文件 /usr/share/man/man1/ls.1.gz代表帮助文档

想要这条命令干嘛的 whatis ls

# which 命令查看命令的所在位置 ,若命令有别名也会显示别名

3 文件搜索命令 find

命令 :

find [搜索范围] [搜索条件]

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

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

find /root -iname install.log

#不区分大小写

find /root -user root

#按照所有者来搜索

find /root -nouser

#查找没有所有者的文件

find /var/log -mtime +10

#查找十天前修改的文件

-10 10天内修改的文件 10 10天当天修改的文件 +10十天前修改的文件

atime 文件访问时间 ctime 改变文件属性 mtime 修改文件内容

find /etc -size 25k

#搜索指定文件大小的文件 k是小写 M是大写

知道i节点查看文件名

find /root -inum i节点

条件

-a  and逻辑与

-o or 逻辑或

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

举个栗子:

#查找/etc/目录下,大于20KB且小于40KB的文件

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

4 grep命令

# 在指定的文件中所搜符合条件的字符串

grep [选项] 字符串 文件名

选项:

- i 忽略大小写

-v 排除指定字符串

5 find命令与grep的区别

  • find命令:在系统当中搜索符合条件的文件名,如果匹配,使用通配符匹配,通配符是完全匹配
  • grep命令:在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式包含匹配

Linux常用命令--文件搜索命令相关推荐

  1. Linux学习4之常用命令--文件搜索命令

    一.文件搜索命令  find 语法:find [搜索范围] [匹配条件]  {find [搜索范围] [搜索模式] [搜索条件]} 1.以文件名来查找  -name(区分大小写)-iname (不区分 ...

  2. [Linux学习笔记] Linux常用命令 - 文件搜索命令

    2019独角兽企业重金招聘Python工程师标准>>> 文件搜索命令 1. 显示系统命令所在目录: which 命令名称: which 命令所在路径: /usr/bin/which ...

  3. linux常用基础命令——文件搜索命令

    不管是Linux系统还是Windows系统最好是少用搜索,在服务器规划时就规划好文件的存放,不要随便瞎放,因为搜索功能会占用大量的系统资源.如果实在要查找,不要在服务器业务高峰期进行此操作,查找的目录 ...

  4. Linux常用命令--文件搜索命令:压缩解压命令

    1.命令名称:gzip 命令英文原意:GNUzip 命令所在路径:/bin/gzip 执行权限:所有用户 语法:gzip [文件] 功能描述:压缩文件 压缩后文件格式:.gz 2.命令名称:gunzi ...

  5. Linux学习笔记--locate命令(文件搜索命令)

    locate,定位的意思,作用是让使用者可以快速的搜寻系统中是否有指定的文件. locate 命令特点: 1) "locate"的速度比"find"快,因为它并 ...

  6. Linux常用查看文件内容命令

    Linux下查看文件内容的命令 cat 由第一行开始显示内容,并将所有内容输出 tac 从最后一行倒序显示内容,并将所有内容输出 more 根据窗口大小,一页一页的显示文件内容 less 和more类 ...

  7. Linux学习笔记--find命令(文件搜索命令)

    find,查找的意思,作用是在系统当中搜索符合条件的文件. find命令与locate命令的区别: locate: 1) 非实时查找:2) 依赖于索引,而索引构建非常占用资源,索引的创建是在系统空闲时 ...

  8. linux笔记_文件搜索命令

    一.locate命令 locate命令属于mlocate包,如果执行locate filename提示命令未找到执行安装mlocate包 # yum -y install mlocate 安装后执行l ...

  9. Linux常用命令之文件搜索命令

    目录 1.最强大的搜索命令:find 一.根据 文件或目录名称 搜索 二.根据 文件大小 搜索 三.根据 所有者和所属组 搜索 四.根据 时间属性 搜索 五.根据 文件类型或i节点 搜索 六.组合条件 ...

最新文章

  1. 核显也能玩游戏,OS X Yosemite优化指南
  2. 熟读《阿里巴巴java开发手册》(五、 MySQL 数据库)
  3. [云炬创业基础笔记] 第四章测试12
  4. 这又是什么新玩法?华为Mate 30 Pro真机谍照现身:音量键大变样
  5. Zabbix添加监控项及配置邮件报警
  6. vi/vim: 文件浏览和缓冲区浏览
  7. 性能测试--jmeter中的察看结果树【7】
  8. 微信公众号之接入微信公众号服务器开发(二)
  9. 快车解密php,PHP迅雷、快车、旋风下载专用链转换代码
  10. java frame 显示图片_java怎么在JFrame中显示动态图片?
  11. 微信公众号 语音转文字api_原来微信不仅能实现语音转文字,还能实现文字转语音!你还不知吗...
  12. 端口占用解决:Web server failed to start. Port 8081 was already in use.
  13. 确定性随机数发生器测试向量——DRBG-CTR-AES256
  14. 时间复杂度以及空间复杂度(大O的渐进表示法)
  15. 【技能积累】presentation实用技巧积累,常用句式
  16. 区块链联盟的正确方式
  17. FDB学习总结(测试相关)
  18. WebRTC M96 Release Notes(SDP废除Plan B,支持Opus Red冗余编码)
  19. 你需要启用steam社区界面功能以进行购买_焦虑的Steam新版游戏库,与玩家们真正的担忧...
  20. C#中internal关键字

热门文章

  1. 怎么看服务器报警信息,云监控查看报警规则详情
  2. SSM+智慧养老服务平台 毕业设计-附源码211709
  3. 面向对象02 - 案例:王者荣耀英雄选择
  4. “崆峒笑谈”非遗守艺人:把民间“地摊戏”唱下去
  5. 五分钟学Java:为什么不应该使用Java的原始类型?
  6. 老生常谈:为什么记事本无法单独保存“联通”二字
  7. 虚拟主机安装wp提示Fatal error: require(): Failed opening required解决方案
  8. 511遇见易语言API模块线程创建许可证(InitializeCriticalSection)
  9. 多mods的我的世界云服务器搭建(2021最新)
  10. 高考杂志高考杂志社高考编辑部2023年第1期目录