find命令使用总结

简介

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

你可能感兴趣的:(find命令使用总结)