按名字查询
1. 查找home目录及其子目录的 *.txt 文件
find ~ -name "*.txt" -print
2. 查找当前目录及其子目录的 *.txt 文件
find . -name "*.txt" -print
3. 查找以大写字母开头的文件
find . -name "[A-Z]*" -print
按文件权限相位查询
1. 查询权限为755的文件
find . -perm 755 -print
忽略某个文件夹
忽略“APD-CORE" 目录并且name是按.txt 文件结尾
find . -path "./APD-CORE" -prune -o -name "*.txt" -print
-prune 是指忽略的意思 -o是or的意思,不解释 -o ,知道这样用好了,讲的太复杂也没啥意思。
按用户/用户组来查询
1. 查找是用户root 创建的文件
find . -user "root" -print
2. 查找文件属主账号已被从系统删除,之前创建的文件
find . -nouser -print
把user换成group 就是针对组而且,不再赘述。
按时间查询
1. 查找修改时间在5日之内的文件
find . -mtime -5 -print
2. 查找修改时间在5日之前的文件
find . -mtime +5 -print
按某个文件时间查询
1 .查找比config.ini 新的文件
find . -newer config.ini -exec ls -l {} \;
2. 查找比config.ini 老的文件
find . -newer config.ini -exec ls -l {} \;
3. 查找比config.ini, 比ex 老的文件
find . -newer config.ini ! -newer ex -print
按文件大小查询
1. 查找文件在165个字节以内的文件
find . -size -165c -print
2. 查找文件大于165个字节的文件
find . -size +165c -print
按文件深度查询
1. 只在当前文件下,非递归(不进入子目录)查询
find . -name "*.txt" -maxdepth 1 -print
对查找出来的文件进行操作
find . -name "*.txt" -maxdepth 1 -exec ls -lrt {} \;
find . -name "*.txt" -maxdepth 1 -ok ls -lrt {} \;
< ls ... ./temp/coreinsights_old/hd/user/data/testcal/dw_calendar.txt > ? ; 会询问是否要进行操作y/n
Xargs 替代exec
find . -name "*.txt" -maxdepth 1 | xargs ls -lrt