文档搜索命令

文档搜索命令locate

1
2
3
4
5
6
7
8
locate [文档名]
在后台数据库中按文档名搜索,搜索速度快

/var/lib/mlocate
后台数据库

updatedb
更新数据库

/etc/updatedb.conf配置文档

1
2
3
4
PRUNE_BIND_MOUNTS = "yes" 开启搜索限制
PRUNEFS 搜索时不搜索的文档系统
PRUNENAMES 搜索时不搜索的文档类型
PRUNEPATHS 搜索时不搜索的路径

命令搜索命令whereis与which

1
2
3
4
5
6
7
8
9
10
11
whereis [命令名]

- 搜索命令所在路径级帮助文档所在位置

选项:
-b 只查找可执行文档
-m 只查找帮助文档

which [文档名]

- 搜索命令所在路径及别名

PATH环境变量

定义系统搜索命令的路径

1
2
3
查看当前环境变量

echo $PATH

文档搜索命令find

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

搜索条件:
-iname 不区分大小写
-user 按照所有者搜索
-nouser 查找没有所有者的文档

1
$find / -name install.log

避免大范围搜索,会非常耗费系统资源
find是在系统当中搜索符合条件的文档名,如果需要匹配,使用通配符匹配通配符是完全匹配

Linux中的通配符:
* 匹配任意内容
? 匹配任意一个字符
[ ] 匹配任意一个括号内的字符

1
$find /var/log/ -mtime +10

查找十天前修改的文档

-10 10天内修改文档
10 10天当天修改的文档
+10 十天前修改的文档

atime 文档访问时间
ctime 改变文档属性
mtime 修改文档内容

1
$find . -size 25k

查找文档大小是25kb的文档

-25k 小于25k的文档
25k 等于25k的文档
+25k 大于25k的文档

1
$find . -inum 262422

查找i节点是262422的文档

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

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

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

1
$find /etc -size +20k -a -size -50k -exec ls  -lh {} 

查找/etc/目录下, 大于20KB并且小于50KB的文档,并显示其详细信息

字符串搜索命令grep

1
grep [选项] 字符串 文档名

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

选项:
-i 忽略大小写
-v 排除指定字符串