搜索查找
# find 查找文件或者目录
从指定的目录下递归遍历各个子目录,将满足条件的文件显示在终端
基本语法
- find [搜索范围] [选项]
选项
- -name <查询方式>
- 按照指定的文件名查找文件
- -user <用户名>
- 查找属于指定用户名所有文件
- -size <文件大小>
- 按照指定的文件大小查找文件
应用实例
- 按文件名查找/home 目录下的hello.txt文件
- find /home -name hello.txt
- 查找/opt目录下,用户名称为nobody的文件
- find /opt -user nobody
- 查找整个linux系统下大于20M的文件
- +n 大于 -n 小于 n 等于
- find / -size +20M
- find / -size -20M
- find / -size 20M
- 1M = 1024k
- 如果是k则需要使用小写k,大写K会报错
- 查询 / 目录下,所有.txt的文件
- find / -name *.txt
# locate 定位文件路径
可以快速定位文件路径,利用事先建立的系统中所有文件名称和路径的locate数据库事先快速定位给定的文件;locate指令不用遍历整个文件系统,查询速度较快 为了保证查询结果的准确度,管理员必须定期更新locate时刻
基本语法
- locate 搜索文件
特别说明
- 由于locate指令基于数据库进行查询,第一次运行前,必须使用updatedb 指令创建locate数据库
应用实例
- 使用locate指令快速定位 hello.txt文件所在目录
updatedb
locate hello.txt
1
2
2
# grep 过滤查找与管道符 |
grep过滤查找,管道符 | ,表示将前一个命令的处理结果输出传递给后面的命令处理
基本语法
- grep [选项] 查找内容 源文件
常用选项
- -n 显示匹配行和行号
- -i 忽略字母大小写
应用实例
- 在hello.txt文件中,查找 "yes" 所在行,显示行号
- cat hello.txt | grep -n yes
- 区分大小写
- cat hello.txt | grep -ni yes
- 忽略大小写
- cat hello.txt | grep -n yes
- 查找te打头的文件以及所在ls结果的行数
- ls | grep -n te
# which 查找命令
查找命令在哪个目录下
[root@hadoop100 home]# which ll
alias ll='ls -l --color=auto'
/bin/ls
1
2
3
2
3
Last Updated: 2022/03/20, 10:04:55