Linux搜索命令

2025-11-17 04:37:40

1、文件搜索:locate

    locate 文件名

    在后台数据库中安文件名搜索,搜索速度更快

/var/lib/mlocate

      该文件是#locate命令所搜索的后台数据库,该库不是实时更新的默认一天更新一次,用updatedb命令可以强制更新

updatedb

   更新数据库

该命令的配置文件 /etc/updatedb.conf

    PRUNE_BIND_MOUNTS="YES" #开启搜索现在;

    PRUNEFS=  #搜索时,不搜索的文件系统

    PRUNENAMES=   #搜索时,不搜索的文件类型

    PRUNEPATHS=   #搜索时不搜索 的路径

2、whereis [选项] 命令名  #搜索系统命名所在路径及帮助文档所在命令

选项:

-b: 只查找可执行文件

-m: 只查找帮助文件

whoami    # 是谁的

whatis      # 是做什么的

比如 whatis ls     # ls命令用作

which 命令名    #搜索命令所在路径及别名

3、find [搜索范围] [搜索条件]  #搜索文件

find / -name install.log #按照文件名搜索

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

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

通配符有:

    *:匹配所有字符

    ?:匹配任意一个字符

    []: 匹配括号之中的任意一个字符

find / -iname install.log  #不区分大小写

find / -user root   #按照所有者搜索

find / -nouser      #查找没有所有者的文件

find / -mtime +10 # 查找10天前的文件

    -atime    文件访问时间

    -ctime     改变文件属性

    -mtime    修改文件内容

        +10  10天内修改的文件

         10    10天当天修改的文件

        -10    10天前修改的文件

find / -size 25k  #查找文件大小是25KB的文件  !注意:KB用小写'k',MB用大写的'M'.

find /etc -size +25k -a -size -50k  #查找/etc文件下大于25k且小于50k的文件。

    -a  and  逻辑与,两个条件都满足

    -o or   逻辑或,满足一个就行

find /etc -size +25k -a -size -50k -exec ls -lh {} \;   #查找/etc目录下,小于25k且大于50k的文件,并且显示详细信息。

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

    -25K     小于25K的文件

    25K      等于25K的文件

    +25      大于25K的文件

find / -inum 262455   #查找节点为262455的文件

4、grep [选项] 字符串 文件名 #在文件当中匹配符合条件的字符串。

选项:

-i: 忽略大小写

-v: 排除指定字符串

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢