简介
find命令在目录及子目录下查找文件。可以指定一些匹配文件。
格式
find [path] [option] [expression]
- path 要找文件所在的目录
- option 参数
- expression 匹配的表达式
使用
查找指定名称的文件
find ./work -name "main.sh"
- -name 按照文件名查找文件
忽略大小写
find ./work -iname "main.sh"
使用通配符查找
find ./work -name "*.java"
限定目录查找的深度
find命令会递归查找整个目录树 可以指定查找的深度
find ./work -maxdepth 2 -name "*.java"
- -maxdepth n 指定往下查找的最大深度
查找多个条件
find ./work -name "*.java" -o -name "*.sh"
- -o 进行or运算
只查找文件或者目录
find默认会匹配查找到的目录和文件
参数:
- -type 指定查找的文件类型
- d 目录
- f 普通文件
只查找文件
find ./work -type f -name "java"
只查找目录
find ./work -type d -name "java"
查找指定时间内被修改过的文件
find ./work -mtime -5 // 5天修改过的文件
查找指定大小的文件
find ./work -size 50M
查找指定范围大小的文件
find ./work -size +50M -size -100M // 查找50m-100m 范围的文件
查找最大的文件
find / -type f -print0 | xargs -0 du -h | sort -rh | head -n 10
参数说明:
- / 在系统根目录下查找
- -type 指定文件类型 f:文件 / d: 目录
- -print0 在标准输出下显示完整的文件名
- -| 将一条命令的输出传递给下一个命令进一步处理
- -xargs 将标准输入转换成命令行参数的命令
- -0 以空字符(null)分割记录
- du -h 查看磁盘空间使用情况
- sort 对文本文件进行排序
- -r 反转结果
- -h 可读格式打印输出
- head 输出开头的部分
- -n 10 输出前10
网友评论