1.which命令——查找用户所执行的命令文件存放的目录
which命令用于查找Linux命令程序并显示所在的具体位置,其搜索范围主要由用户的环境变量PATH决定(可以执行“echo $PATH”命令查看),这个范围也是Linux系统在执行命令或程序时的默认搜索路径。
例:which ls命令后,可以找到名为ls的,位于/usr/bin/ls的命令程序文件。
2. find命令——查找文件或目录
采用递归方式,根据目标的名称,类型,大小等不同属性进行精细查找
find [查找范围] [查找条件表达式]
查找类型 | 关键字 | 说明 |
按名称查找 | -name | 根据目标文件的名称进行查找,运用“*(所有)”及“?(一个字母)” |
按文件大小查找 | -size | 一般使用“+”,“-”设置超过指定的大小作为查找条件,常用的容量单位包括kB,MB,GB |
按文件属性查找 | -type | 根据文件类型进行查找 |
按用户查找 | -user | 根据用户查找 |
文件类型包括:普通文件(f),目录(d),块设备文件(b) 文字设备文件(c)等
块设备是指读取数据的设备(如硬盘,内存等)
字符设备是指按单个字符读取数据的设备(如键盘,鼠标等)
例:
find / -name a* 查找根目录a开头的文件
find /etc/ -size +50k 查找etc下面文件大于50k的
find / -user lq 查找系统中属主(用户)为lq的内容
find / -type f 查找系统中的所有文本文件
———————————————————————————————————————–
搜索命令后面+ -exec cp -rf {} 目标地址
将以上的一系列命令保存到 目标地址中。
例:find / -size -5k -a -name c* -a -type f -exec cp -rf {} /opt/bb/ \;
查找系统中小于5k且名称以a开头的且类型为文件的内容并把它复制到/opt/bb目录里面去。
注:以上查找都是广泛查找
各表达式之间使用逻辑运算符
“-a” 表示而且 (and) “-o”表示或者(or)
总结:
1、查找文件
find / -name 'filename'
2、查找文件夹(目录)
find / -name 'path' -type d
3、查找内容
find . | xargs grep -ri 'content'
PS:3.1 只显示文件名称
find . | xargs grep -ril 'content' 只显示文件名称
原文:https://blog.csdn.net/weixin_33851429/article/details/91692620
Centos中查找文件、目录、内容