locate:非实时的,查找是根据全系统文件数据库进行的(模糊匹配)
find:实时查找,精确,便利指定目录下的所有文件
find 查找路径 查找标准 查找到以后的处理操作
- 查找路径:默认当前路径
- 查找标准:默认为指定路径下的所有文件
- 处理操作:默认为显示到屏幕
查找标准
- -name ‘filename’:对文件做精确插座
- 支持通配符
- -iname ‘filename’ 表示文件名匹配不区分大小写
- -regex pattern:基于正则表达式来对文件进行查找
- -user USERNAME:根据属主查找
- -group Group:根据属组来查找
- -gid GID:根据GID查找
- -uid UID:根据UID查找
- -nouser:查找没有属主的文件
- -nogroup:查找没有属组的文件
- -type:根据文件类型查找
- -size:根据大小对文件进行查找(k,M,G)
- +5M:表示大于5M的文件
- -5M:表示小鱼5M的文件
- =5M:表示等于5M的文件
- 组合条件
- -a:&
- -o:|
- -not:!
- 根据时间戳来查找文件
- -mtime:修改时间
- -ctime:改变时间
- -atime:访问时间
- 根据权限进行匹配
- -perm 644:精确匹配
- -perm /644:只要有一位匹配就行
- -perm -644:文件权限必须都大于或等于各个权限
动作
- -print:显示
- -ls:类似与ls -l
- -ok COMMAND {} ;
- -exec COMMAND {} ; :{}是文件占位符,COMMAND是要执行的命令,;这是不能省略的
- ok表示每一个动作都需要用户确认,-exec表示每一个动作不需要用户确认
- 也可以领用xargs来执行
- fin /etc -size +1M | xargs echo >>/tmp/test(该命令本身是不需要占位符的)