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"
如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!
添加我为好友,拉您入交流群!
请使用微信扫一扫!