linux中一切皆文件的思想是重中之重,那么查找文件是学习Linux必须要掌握的技能。
一、find命令
1.按文件名
find 路径 -name "文件名"
例:查找/home目录下的所有以.c为后缀的文件
find /home -name "*.c"
2.按文件类型查询
find 路径 -type 类型
类型:普通文件 f 目录d 符号链接l 块设备文件b
字符设备文件c socket文件s 管道文件p
例:查找/root/study/c++路径下的所有目录
3.按照文件大小查找
通项:find 路径 -size 范围
范围:+表示大于 -表示小于 等于不需要符号
大小:M(必须大写) k(必须小写) c(表示字符)
例:查找该目录下0k到10k的文件
4.按照文件日期查找
4.1按照创建日期查找
find 路径 -ctime -n/+n
4.2按照修改日期查找
find 路径 -mtime -n/+n
4.3按照访问日期查找
find 路径 -atime -n/+n
-n:n天以内 +n:n天以外
5.按深度查找
5.1查找起始点以下n层的目录,不超过n层
find 路径 -maxdepth n(层数)
5.2搜距离起始点n层以下的目录(即最少n层)
find 路径 -mindepth n(层数)
6.高级查找
6.1-exec
find 路径 查找方式 -exec shell命令 {} \;
6.2-ok
该方法与6.1相比更加安全,其存在确认过程
find 路径 查找方式 -ok shell命令 {} \;
6.3管道方式
有较多文件时优先使用
find 路径 查找方式 | xargs shell命令
二、grep命令
即按照内容查找
grep 参数 "内容" 查找目录或文件
参数:
-r 若是目录,则可以递归查找
-n:可以显示该查找内容所在的行号
-i:可以忽略大小写进行查找
-v:不显示含有某字符串
三、grep和find命令结合使用
先使用find命令查找文件,然后使用grep命令查找哪些文件包含某个字符串
例:
find ./ -name "*.cpp" | xargs grep -n "main"
版权归原作者 GG_Bond18 所有, 如有侵权,请联系我们删除。