Linux搜索查找的指令
find 查找文件或者目录
find
指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。
find [搜索范围] [选项]
示例
根据名称查找/home
目录下的hello.txt
文件
find /home -name hello.txt
按拥有者:查找/opt
目录下,用户名称为 nobody
的文件
find /opt -name nobody
查找整个linux
系统下大于10M
的文件(+n
大于 -n
小于 n
等于)
find / -size +10M
根据名称查找 /
目录下的filename.txt
文件。
find / -name *.txt
在/home目录下查找大于200m
的文件(+n
大于 -n
小于 n
等于)
find /home -size +204800
locate快速定位文件路径
locate
指令利用事先建立的系统中所有文件名称及路径的locate
数据库实现快速定位给定的文件。locate
指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate
时刻。
locate 搜索文件
特别说明
由于locate
指令基于数据库进行查询,所以第一次运行前,必须使用updatedb
指令创建locate
数据库。
示例
updatedb // 创建locate的数据库
locate tmp
grep 过滤查找及“|”管道符
管道符,“|”
,表示将前一个命令的处理结果输出传递给后面的命令处理
grep 选项 查找内容 源文件
示例
请在 /etc/profile 文件中,查找 “if” 所在行,并且显示行号
grep –n if /etc/profile [在/etc/profile 中查找 if ,并显示行,区别大小写]
grep –ni if /etc/profile [在/etc/profile 中查找 if ,并显示行,不区别大小写]
配合 管道 |
使用案例, 查看当前服务器有没有 sshd
服务在监听
netstat -anp | grep sshd
查找某文件在第几行
ls | grep -n dev
查找 yes
在 /home/hello
文件中是否存在 如果有 输出行数和yes
cat /home/hello | grep -n yes