1、locate命令
形式: locate 文件名
在后台数据库中按文件名搜索(模糊查询),搜索速度更快 , /var/lib/mlocate 为#locate命令所搜索的后台数据库。
我们用locate命令的时候若发现未找到命令,则用Yum命令远程安装下locate
[root@localhost ~]# yum -y install mlocate
[root@localhost ~]# updatedb
(虚拟机上改为nat模式进行安装,然后改回桥接模式,xshell链接)
updatedb 命令更新数据库,文件发生改变时需手动更新,然后搜索
2、find 文件搜索
find [搜索范围] [搜索条件] [搜索文件(可包含通配符)]
find / -name install.log (/ 表示在根目录下搜索,-name 表示按文件名搜索)
如果需要进行模糊查询,则需要使用通配符:
* 匹配任意内容
? 匹配任意一个字符
[] 匹配任意一个中括号的字符
[root@localhost ~]# find / -name "牛*" 查找开头是 “牛”的所有文件
使用搜索条件:
(1)[root@localhost ~]# find /root -user root 查找所有者为root的文件
(2)[root@localhost ~]# find /root -nouser 查找没有所有者的文件
(3)[root@localhost ~]# find /root -iname java (-iname 表示查询时不区分大小写)
(4)[root@localhost ~]# find /var/log/ -mtime +10 查找10天前修改的文件
-10 10天内修改的文件
10 第10天修改的文件
+10 10天前修改的文件
atime 根据 访问文件时间 搜索
ctime 根据 改变文件属性时间 搜索
mtime 根据 修改文件时间 搜索
(5)find /root -size 2k 查找文件大小是1到2KB的文件(进一法)
-2k 小于2KB的文件
2k 等于2KB的文件
+2k 大于2KB的文件
(6)find /root -inum 262422 查找i节点是262422的文件
(7)find /etc -size +20k -a -size -50k 查找/etc/目录下,大于20KB并且小于50KB的文件
-a and 逻辑与
-o or 逻辑或
(8) find /etc -size +20k -a -size -50k -exec ls -lh {} \ ; 查找,并显示详细信息;
-exec/-ok 命令{} \; 对搜索结果执行操作;
3、grep命令: 在文件当中匹配符合条件的字符串
grep [选项] 字符串 文件名
选项:-i 忽略大小写、 -v 排除指定字符串
(1)[root@localhost ~]# grep work java (查找java文件中含有"work"字符串的行)
(2)[root@localhost ~]# grep -v work java (查找java文件中不含有"work"字符串的行)
4、 使用 vim 编辑文件时进行字符搜索
/sava (搜索字符串save)
n 下一个,shift+n 上一个