linux搜索查找指令:find | locate | which | grep

摘要#

目的:展示搜索、查找指令

  1. find指令
  2. locate指令
  3. which指令
  4. grep过滤指令

一、find指令#

find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。

指令 功能 说明 选项
find /root -name hello.txt 从root目录下递归遍历各个子目录,查找hello.txt 如果从/根目录开始查找的话,那么遍历所有文件,效率太低
最终找到的只有hello.txt,名字与参数完全一致
-name 根据文件名称查找
find /opt -user user1 从opt目录下查找各个子目录,查找到user1的文件 -user 根据用户查找
find / -size +200M 从根目录下查找文件大小大于200M的文件 +n:表示大于n
-n:表示小于n
n:表示等于n
单位有K M G T等
-size 根据文件大小查找

可以使用 ll -h查看文件大小

二、locate指令#

  • locate指今可以快速定位文件路径。
  • locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。
  • locate指令无需遍历整个文件系统,查询速度较快。
  • 为了保证查询结果衔准确度管理员必须完期更新locate时刻(updatedb),否则可能找不到全部的文件
指令 功能 说明 选项
yum install mlocate locate命令执行之前需要的指令
updatedb 更新locate所需要的数据库 必须在locate之前调用
locate a.txt 定位a.txt 查找到的文件是 包含 a.txt的,不是只有 a.txt
这个的速度很快

三、which指令#

指令 功能 说明 选项
which ls 查找ls指令所在的目录

四、grep指令#

grep过滤查找,管道符,"I",表示将前一个命令的处理结果输出传递给后面的命令处理。

指令 功能 说明 选项
`cat a.txt grep "hello"` 查看a.txt并且只显示有hello的一行
`cat a.txt grep "hello" grep "world"` 查看a.txt并且只显示有hello和world的一行
`cat a.txt grep -n "hello"` 显示行号
`cat a.txt grep -i "hello"` 匹配时不管大小写
`ps -aux grep "rsyslogd" grep -v "grep"` 查找rsyslogd进程,但是不包括grep的一行
grep "password" hello.txt 查看hello.txt中含有password的一行 可以查找文件

posted @   Crispy·Candy  阅读(58)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
主题色彩