Linux文件搜索命令
locate 文件名
在后台数据库中按文件名搜索,搜索速度更快
/var/lib/mlocate
#locate命令所搜索的后台数据库
updatedb 更新数据库
locate 命令搜索也是有限制的
PRUNE_BIND_MOUNTS = "YES" #开启搜索限制 “NO”是不开启搜索限制
PRUNEFS = #搜索时,不搜索的文件系统
PRUNENAMES = #搜索时,不搜索的文件类型
PRUNEPATHS= 搜索时,不搜索的路径
搜索命令的命令whereis
whereis 命令名
#搜索系统命令所在路径及帮助文档所在位置
选项:-b 只查找可执行文件
-m 只查找帮助文件
搜索命令的命令which
which 文件名 #搜索命令所在路径及别名
whereis和which命令都依赖于path路径
find命令
find [搜索范围] [搜索条件]
find / -name install.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 命令 {}\; 是对搜索结果执行操作
搜索字符串命令grep
grep [选项] 字符串 文件名 #在文件当中匹配符合条件的字符串
选项:-i 忽略大小写
-v 排除指定字符串