Linux中的文件搜索命令

locate

  • 用法:locate 文件名
  • 在后台数据库中按文件名搜索,搜索速度更快,数据库是/var/lib/mlocate
  • updatedb:更新数据库
  • 只能按照文件名搜索

whereis   搜索命令的命令

  • whereis 命令名   #搜索命令所在路径及帮助文档所在位置
  • 选项
    • -b 只查找可执行文件
    • -m 只查找帮助文件
  • 只能搜索外来命令

which     搜索命令的命令

  • #搜索命令所在路径及别名
  • 只能搜索外来命令

find

  • find [搜索范围][搜索条件]      #搜索文件
    • find / -name install.log        #避免大范围搜索,会非常耗费系统资源       #find是在系统当中搜索符合条件的文件名。如果需要匹配,使用通配符匹配,通配符是完全匹配    *:匹配任意内容    ?匹配任意一个字符       []匹配任意一个中括号内的字符
    • find  /root -iname install.log    #不区分大小写
    • find  /root -user root          #按照所有者搜索
    • find /root -nouser                  #查找没有所有者的文件
    • find  /var/log/ -mtime  +10     #查找10天前修改的文件
      • -10            #10天内修改的文件
      • 10             #10天当天修改的文件
      • +10           #10天前修改的文件
      • atime         #文件访问时间
      • ctime         #改变文件属性
      • mtime        #修改文件内容
    • find . -size 25k     #查找文件大小是25kb的文件    kb是小k,兆是大写M
      • -25k      #小于25kb的文件
      • 25k       #等于25kb的文件
      • +25k     #大于25kb的文件
    • find . -inum 262422    #查找i节点是262422的文件
    • find /etc -size +20k -a -size -50k -exec ls -lh {} ;   
      • 查找/etc/ 目录下,大于20kb并且小于50kb的文件,并显示详细信息
      • #-exec/-ok 命令{};对搜索结果执行操作

grep

  • grep [选项] 字符串 文件名      #在文件当中匹配符合条件的字符串
    • -i 忽略大小写
    • -v 排除指定字符串 

find命令与grep命令的区别

  1. fing命令:在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配
  2. grep命令:在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式时包含匹配
原文地址:https://www.cnblogs.com/wangshujing/p/6849758.html