Find命令在linux里用于在指定的目录下搜索文件和目录,可以根据各种条件来查找
基本用法
以下是一些基本的用法
find [路径] [表达式]
[路径]
:开始搜索的目录,如果不指定则默认为当前目录[表达式]
: 告诉find
你需要查找什么文件(文件名,类型,大小写) 以及找到之后要执行什么操作
常用搜索条件
按名称搜索
参数 -name
用于根据文件名称搜索,支持 shell 通配符
- 搜索名为 test.txt 的文件:
find . -name "test.txt"
在当前目录与子目录查找
test.txt
- 搜索所有
.log
结尾的文件
find /var/log -name "*.log"
在
/var/log
目录下查找所有.log
文件
- 忽略大小写搜索
find . -iname "report.pdf"
会匹配
Report.pdf
REPORT.pdf
…
按类型搜索
参数 -type
用来指定要搜索的是文件、目录、符号链接等。
f
:普通文件d
:目录l
:符号链接 (symbolic link) 搜索名字为imicola
的目录
find . -type d -name imicola
按大小搜索
参数 -size
可以根据文件大小搜索文件
单位:
c
字节bytesk
千字节 即KBM
即MBG
即GB
找到文件后执行操作 (-exec
)
语法规则 : ... -exec [cmd] {} \;
[cmd]
是执行的命令{}
是占位符,会将find找到的每一个文件路径替换\;
是-exec
命令的结束符,必须存在
find /tmp -name "*.tmp" -exec rm {} \;
找到所有 .tmp后缀文件并删除