文件搜索命令

1,文件搜索命令locate(速度快)
      locate 文件名      #在后台数据库(mlocate)中按文件名搜索,搜索速度更快
      /var/lib/mlocate      #locate命令所搜索的数据库(默认一天更新一次)
      updatedb      #更新数据库
 
/etc/updatedb.conf配置文件(locate搜索命令遵守此配置文件)
      PRUNE_BIND_MOUNTS="yes"      #开启搜索限制
      PRUNEFS=      #搜索时,不搜索的文件系统
 
      PRUNENAMES=      #搜索时,不搜索的文件类型
      PRUNEPATHS=      #搜索时,不搜索的路径
 

 

 

locate包的安装:
      在yum中,locate的安装包名为mlocate(yum list | grep locate可以查看),安装方法:yum -y install mlocate
 
2.命令搜索命令whereis与which
      whereis 命令名      #搜索命令所在路径及帮助文档所在位置
      选项:
         -b  只查找可执行文件
         -m 只查找帮助文件
 
      whatis 文件名        #查看命令功能
      which 文件名      #搜索命令所在路径及别名
 
PATH环境变量
    PATH环境变量:定义的是系统搜索命令的路径
    echo $PATH
 
3,文件搜索命令find
        find [搜索范围] [搜索条件]      #搜索文件
        find / -name install.log
        #避免大范围搜索,会非常耗费系统资源
        #find是在系统当中搜索符合条件的文件名。如果需要匹配,使用通配符匹配,通配符是完全匹配
        find -iname [文件名]            #不区分大小写
        find [搜索路径] -user [所有者]       #按照所有者搜索
        find [搜索路径] -nouser        #查找没有所有者的文件
 
按照时间搜索:
       find /var/log/ -mtime +10        #查找10天前修改的文件
           -10    10天内修改文件
             10    10天当天修改的文件
          +10    10天前修改的文件
           atime  文件访问时间
           ctime  改变文件属性
           mtime  修改文件内容
 
按照文件大小搜索:
        find /root -size 25k        #查找文件大小是25KB的文件(可以用+-=)
        find . -inum 26442        #查找i节点是26442的文件
  
        find /etc -size +20k -a -size -50k      #查找/etc/目录下,大于20KB并且小于50KB的文件
             -a and逻辑与,两个条件都满足
             -o or  逻辑或,两个条件满足一个即可
 
对搜索结果进行再处理:    
        find /etc -size +20k -a -size -50k  -exec ls -lh {} \;
        #查找/etc/目录下,大于20KB并且小于50KB的文件,并显示详细信息
        #-exec 命令 {} \;  对搜索结果执行操作
Linux中的通配符
        *    匹配任意内容
        ?    匹配任意一个字符
        []    匹配任意一个中括号内的字符
    
4,字符串搜索命令grep
        grep [选项] 字符串 文件名        #在文件当中匹配符合条件的字符串
        选项:
            -i    忽略大小写
            -v    排除指定字符
 
5,禁止find搜索子目录
 
find /mnt/lixian/ -maxdepth 1 -name "file_name"

注意:修改 -maxdepth 1 为  -maxdepth 2,为向下搜索2层目录,以此类推

posted @ 2020-12-22 21:34  局域网外  阅读(410)  评论(0编辑  收藏  举报