目录
[🍉 find - 查找文件](#🍉 find - 查找文件)
[🍇 grep](#🍇 grep)
[🍓 which](#🍓 which)
🍉 find - 查找文件
bash
# 语法
# find [搜索范围] [选项]
# 选项
# -name<查询方式> 按照指定的文件名查找模式查找文件
# -user<用户名> 查找属于指定用户所有文件
# -size<文件大小> 按照指定的文件大小查找文件
# 在当前目录及其子目录下查找所有 .txt 文件:find . -name "*.txt"
# 1. 按照文件名:根据文件名称查找/home目录下的hello.txt文件
find /home -name hello.txt
# 2. 查找整个Linux系统下面大于200M的文件(+n 大于 -n小于 n等于,单位有 K, M, G)
find / size +200M
# 3. 按拥有者:查找/opt目录下,用户名称为nobody的文件
find /opt -user nobody
🍇grep
bash
# 基本语法
# grep [选项] 查找内容 源文件
# 常用选项
# -n 显示匹配行以及行号
# -i 忽略字母大小写
# 应用案例 :在hello.txt文件中,查找"yes"所在行并且显示行号
# 写法1
cat /home/hello.txt | grep "yes"
# 写法2
grep -n "yes" /home/hello.txt
🍓which
bash
# 环境变量PATH中保存了查找命令时需要遍历的目录。which指令会在
# 环境变量$PATH设置的目录里查找符合条件的文件。也就是说,使用
# which命令,就可以看到某个系统命令是否存在,以及执行的到底是
# 哪一个位置的命令。
# (1)用法:
# 用法: which [选项参数] [命令名]
# (2)功能:
# 功能:查找环境变量中的文件
# (3)选项参数:
# 1) -n 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
# 2) -p 与-n参数相同,但此处的包括了文件的路径。
# 3) -w 指定输出时栏位的宽度。
# 4) -V 显示版本信息
[root@localhost sunjimeng]# which pwd
/usr/bin/pwd
[root@localhost sunjimeng]# which head
/usr/bin/head
[root@localhost sunjimeng]# which cat
/usr/bin/cat
🍈locate
bash
# 基本语法
# locate 搜索文件
# Notes: locate指令基于数据库进行查询,所以第一次运行前,必须使用
# updatedb指令创建locate数据库
#应用案例:使用locate指令快速定位hello.txt文件
updatedb
locate hello.txt
总结:
我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索:
- which 查看可执行文件的位置。
- whereis 查看文件的位置。
- locate 配合数据库查看文件位置。
- find 实际搜寻硬盘查询文件名称。