Unix/Linux使用Find命令查找文件
[root@TEST144239 ~]# find --help
用法: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
默认路径为当前目录;默认表达式为 -print
表达式可能由下列成份组成:操作符、选项、测试表达式以及动作:
- 操作符 (优先级递减;未做任何指定时默认使用 -and):
( EXPR ) ! EXPR -not EXPR EXPR1 -a EXPR2 EXPR1 -and EXPR2
EXPR1 -o EXPR2 EXPR1 -or EXPR2 EXPR1 , EXPR2
- 位置选项 (总是真): -daystart -follow -regextype
- 普通选项 (总是真,在其它表达式前指定):
-depth --help -maxdepth LEVELS -mindepth LEVELS -mount -noleaf
--version -xdev -ignore_readdir_race -noignore_readdir_race
- 比较测试 (N 可以是 +N 或 -N 或 N):
-amin N -anewer FILE -atime N -cmin N
-cnewer 文件 -ctime N -empty -false -fstype 类型 -gid N -group 名称
-ilname 匹配模式 -iname 匹配模式 -inum N -ipath 匹配模式 -iregex 匹配模式
-links N -lname 匹配模式 -mmin N -mtime N -name 匹配模式 -newer 文件
-nouser -nogroup -path PATTERN -perm [+-]MODE -regex PATTERN
-readable -writable -executable
-wholename PATTERN -size N[bcwkMG] -true -type [bcdpflsD] -uid N
-used N -user NAME -xtype [bcdpfls]
-context CONTEXT
actions: -delete -print0 -printf FORMAT -fprintf FILE FORMAT -print
-fprint0 FILE -fprint FILE -ls -fls FILE -prune -quit
-exec COMMAND ; -exec COMMAND {} + -ok COMMAND ;
-execdir COMMAND ; -execdir COMMAND {} + -okdir COMMAND ;
寻找空的目录: find /path -depth -type d -empty
寻找空文件: find /path -depth -type f -empty
根据名字查找文件: find /path -name name_of_file
根据扩展名查找文件: find /path -name “*.given_extension”
寻找具有特定权限且特定扩展名的文件: find /path -name ‘*.txt’ -perm 644
根据文件具有的权限属性来寻找文件: find /path -perm -permision_bits
不知道扩展名,只使用文件名来寻找文件: find /path -name ‘given_name.*’
寻找在24小时内修改过的文件: find /path -mtime n 这里的n,0表示24小时,1表示48小时,2表示72小时。下面的n也一样。
查找最近24小时内存取过的文件: find -atime n
根据所有者查找文件: find /path -user root
查找并删除文件: find /path -name mytestfile | xargs rm