Linux中搜索命令--locate、find

1. locate

 如果没有安装,要先安装:

 yum -y install mlocate

搜索命令:

locate 文件名

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

 /var/lib/mlocate

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

updatedb

更新数据库

locate优点是 搜索速度快 ,缺点是只能按文件名搜索;

更新数据库配置文件:   /etc/updatedb.conf配置文件

 2.find命令

命令格式:

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

例如:find / -name "书"

find只能完全匹配,例如:

如果我们需要进行模糊查询,我们要使用通配符;

* 匹配任意内容  

?匹配任意一个字符 

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

例如:

find /root -iname 文件名

不区分大小写,linux是严格区分大小写的,假如用iname 查询时不区分大小写;

实战:搜索/root目录下以字母a(不区分大小写)开头的所有文件: 

find /root -user root

根据所有者搜索

实战:搜索/root目录下属于root用户的所有文件:

find /root -nouser

查找没有所有者的文件

find /var/log/ -mtime +10

查找10天前修改的文件

-10 10天内修改的文件

10 10天当前修改的文件

+10 10天前修改的文件

atime 文件访问时间

ctime 改变文件属性

mtime 修改文件内容

 实战:查找 /var/log/  中10天内修改的文件:

find /root  -size 2k

查找文件大小是1到2KB的文件(进一法)

-2k 小于2KB的文件

2k 等于2KB的文件

+2k 大于2KB的文件

find /root -inum 262422

查找i节点是262422的文件

find /etc -size +20k -a -size -50k

查找/etc/目录下,大于20KB并且小于50KB的文件

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

-o or 逻辑或,两个条件满足一个即可

猜你喜欢

转载自blog.csdn.net/yongbutingxide/article/details/82226965