find 不加任何参数,会列出当前目录下所有文件,以相对路径的方式列出


1.根据文件名or 正则表达式进行搜索
1)常规用法 find /home/user -name "*.txt" 2)忽略大小写 find /home/user/ -iname "test.txt" 3)匹配多个条件中的一个 find /home/user \(-name "*.txt" -o -name "*.jpg" \) 4)匹配文件路径 find /home/user/ -path "*/quality/*" or find /home/user/ -regex ".*\(\.py\|\.sh)$)" 备注:iregex可以使正则表达式忽略大小写 |
2.否定参数!
1)常规用法 find /home/user ! -name "*.txt" |
3.基于目录深度的搜索
1)常规用法 find /home/user -maxdepth 2 -mindepth 1 -name "*.txt" |
4.基于文件类型搜索
文件类型 | 参数类型 |
---|
普通文件 | f |
符号文件 | l |
目录 | d |
字符设备 | c |
块设备 | b |
套接字 | s |
FIFO | p |
1)常规用法 find /home/user - type d |
5.根据文件被修改的时间搜索
时间类型 | 参数类型 | 说明 |
---|
访问时间 | -atime | 用户最近一次访问文件的时间 |
修改时间 | -mtime | 文件内容最后一次倍修改的时间 |
变化时间 | -ctime | 文件元数据(例如权限or 所有权)最后一次被改变的时间 |
1)常规用法 find /home/user ! -atime 50 |
6.根据用户和分组查找
1)常规用法 find /home/user -user root find /home/user -group root |
7.空目录or空文件
1)常规用法 find /home/user - type d -empty" |
8.根据权限查找
1)常规用法 find /home/user -perm 555 |
9.根据文件大小查找
1)常规用法 find /home/user -size +15M 备注 size+ 表示大于 ,size-表示等于 |
10.对查找结果进行操作
1)常规用法 find /home/user -name “section*” - exec cp -r {} {}_bak \; 备注: \; 必不可少 |