Linux搜索命令
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: 排除指定字符串