linux搜索命令总结比较

1.文件搜索命令 

locate  文件名

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

/var/lib/mlocate

#locate命令所搜索的后台数据库

updatedb

更新数据库

 

安装

yum  -y install mlocate

updatedb

 

/etc/updatedb.conf配置文件

 

PRUNE_BIND_MOUNTS = "yes"

#yes开启搜索限制

PRUNES

#不搜索的文件系统

PRUNENAMES=

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

PRUNEPATHS=

#搜索时,不搜索的路径

 

2.搜索命令的命令(whereis&&which)

   whereis 命令名

   #搜索命令所在的路径及帮助文档所在位置(只能查找系统命令)

   选项

     -b:只查找可执行文件

     -m:只查找帮助文件

    which 命令名

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

 

3.文件搜索find

find  搜索范围 搜索条件

#搜索文件

 

find / -name  isntall.log

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

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

linux中的通配符

  • *匹配任意内容

  • ?匹配任意一个字符

  • []匹配任意一个中括号内的字符

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的文件

-25k 小于25kb的文件

25k  等于25kb的文件

+25k 大于25kb的文件

find .  -inum 262422

#查找i节点是262422的文件

 

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/-ok 命令 {}\;对搜索结果执行操作

 

4.搜索字符串命令grep

grep 选项  字符串  文件名

#在文件当中匹配符合条件的字符串

选项:

    -i 忽略大小写

    -v 排除指定字符串

 

find命令和grep命令的区别

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

grep命令:在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式包含匹配

 

 

 

 

你可能感兴趣的:(linux)