Linux 学习 (三) 文件搜索命令

时间:2021-11-03 18:15:47

Linux达人养成计划 I 学习笔记

locate 文件名

  • 搜索速度比较快
  • 只能根据文件名搜索
  • 搜索的是保存在 /var/lib/mlocate 的数据库(每天更新一次)
  • 新建文件需要执行 updatedb 命令才能被搜索到
  • 根据 /etc/updatedb.conf 配置文件的配置搜索
    • PRUNE_BIND_MOUNTS = "yes" :开启搜索限制
    • PRUNEFS = :搜索时不搜索的文件系统
    • PRUNENAMES =:搜索时不搜索的文件类型
    • PRUNEPATHS =:搜索时不搜索的路径

whereis 命令名

  • 搜索命令所在路径及帮助文档所在位置
  • -b:只查找可执行文件
  • -m:只查找帮助文件

which 命令名

  • 搜索命令所在路径及别名

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

  • 搜索文件
  • 避免大范围搜索,会非常耗费系统资源
  • 在系统当中搜索符合条件的文件名,如果需要匹配则需使用通配符,通配符是完全匹配
  • -exec 命令 {} ; :对搜索结果执行操作,例如,find /etc -size +20k -exec ls -lh {} ;

grep [选项] 字符串 文件名

  • 在文件当中匹配符合条件的字符串
  • -i 忽略大小写
  • -v 排除指定字符串

find与grep的区别

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