实用指令_搜索查找类_find_locate_grep

发布时间 2023-08-28 11:10:11作者: WeChat2834
搜索查找类
find指令

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

  • 基本语法
find [搜索范围] [选项]
选项 功能
-name <查询方式> 按照指定的文件名查找模式查找文件
-user<用户名> 查找属于指定用户名所有文件
-size<文件大小> 按照指定的文件大小查找文件
  • 应用实例
###eg1:按文件名:根据名称查找/home 目录下的hello.txt文件
find /home -name hello.txt
###eg2:按拥有着:查找/opt目录下,用户名为nobody的文件
find /opt -user nobody
###eg3:查找整个linux系统下大于20M的文件(+n大于  -n小于 n等于)
find /    -size  +20M   ###注意单位要大写 可根据ls -h查看具体文件大小是否属实。
####eg4:按文件名:根据通配符查找/home 目录下的.txt文件
find /home -name *.txt
locate指令

locate 指令可以快速定位文件路径。locate 指令利用事先建立的的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。locate 指令无需遍历整个文件系统,查询速度极快。为了保证查询结果的准确度,管理员必须定期更新locate时刻。

  • 基本语法
locate 搜索文件
  • 特别说明

由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库

  • 应用实例
###eg1:请使用locate指令快速定位hello.txt文件所在目录
updatedb
locate hello.txt

grep指令和管道符

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

  • 基本语法
grep[选项] 查找内容 源文件
选项 功能
-n 显示匹配行及行号
-i 忽略字母大小写
  • 应用实例
###eg1:请在hello.txt文件中,查找“yes"
cat -n  hello.txt| grep -i
###eg2:组合实用举例查找当前目录下脚本中内容包含已结标识的文件 ; 注意双引号也需注意
find ./ -name '*.sh' | xargs grep -ni "已结标识"