一.Find命令的作用:
find命令用于查找指定目录下的文件,同时也可以调用其它命令执行相应的操作。
Linux中find常见用法:find path -option [ -print ] [ -exec -ok command ] {} \;
二.Find命令的常用参数
path:find命令查找的目录途径。
-exec:find命令对匹配的文件执行该参数所给出的shell命令。
-name 1.txt 查找名为1.txt的文件
-perm 按照执行权限查找
-user username 按文件属主来查找
-group groupname 按文件的组来查找
-mtime -n +n 按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime -n +n 按文件访问时间来查
-ctime -n +n 按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-nogroup 查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser 查无有效属主的文件,即文件的属主在/etc/passwd中不存在
-type b/d/c/p/l/f 查找是块设备、目录、字符设备、管道、符号链接、普通文件
-size n[c] 查找长度为n块[或n字节]的文件
-depth 使查找在进入子目录前先行查找完本目录
-mount 查文件时不跨越文件系统mount点
-follow 如果遇到符号链接文件,就跟踪链接所指的文件
-prune 忽略某个目录
-amin 查找在系统中最后N分钟访问的文件
-mmin 查找在系统中最后N分钟里修改过的文件
三、find部分参数用法案例
1.find工具name参数案例
find /data/ -name "*.txt”" 查找/data/目录以.txt结尾的文件
find /data/ -name "[A-Z]*” 查找/data/目录以大写字母开头的文件
find /data/ -name "test*” 查找/data/目录以test开头的文件
2.find工具-type参数案例
fnd/data/ -type d 查找/data/目录下的文件夹
find/data/ ! -type d 查找/data/目录下的非文件夹
find/data/- type l 查找/data/目录下的链接文件
find/data/- type f |xargs chmod 644-R 查找文件类型并将权限设置为644
3.find工具size参数案例
find /data/ -size +1M 查找文件大小大于1MB的文件
find /data/ -size 10M 查找文件大小为10MB的文件
find /data/ -size -1M 查找文件大小小于1MB的文件
4.find工具-perm参数案例
find /data/ -perm 755 查找/data/目录权限为755的文件或者目录
find /data/ -perm -007 与perm77相同,表示所有权限
find /data/ -perm +644 查找文件权限符号为644以上的文件
5.find工具mime参数案例
find /data/ -mtime +30-name "*.txt" 查找30天以前的txt文件
find /data/ -mtime -30 -name "“.txt" 查找30天以内的txt文件
find /data/ -mtime 30 -name " *.txt" 查找第30天的txt文件
find /data/ -mmin +30-name ".txt” 查找30min以前被访问的txt文件
find /data/ -amin -30-name ".txt” 查找30min以内被访问的txt文件
find /data/ -cmin 30-name ".txt” 查找第30min改变的txt文件
6.find参数综合用法案例
①、查找/data目录以.txt结尾,文件大于10KB的文件,同时/cp到/tmp目录
find /data/ -name "*. txt' -type f -size +10k -exec cp {} /tmp/ \;
②查找/data/目录以.txt结尾,文件大于10kB的文件,权限为644并别除该文件
find /data/ -name "*.txt" -type f -size +10k -m perm 644 -exec rm -rf {} \;
③查找/data/目录以.txt结尾,30天以前的文件,大小大于10并移动到/temp目录
find /data/ -name " . txt" -type f -mtine +30 -size +10M -exec mv { } /temp/ \;