Linux之find命令

1.find命令的作用

主要用于操作系统文件、目录的查找。

2.find命令常用参数

-name     #按文件名查找
-type     #按文件类型查找;b/p/c/p/l/f
-size     #但文件大小查找,G/M/k
-perm     #按执行权限查找
-user     #按文件属主来查找
-group    #按文件属组来查找
-mtime    #按文件修改时间查找(天); n  +n -n
-ctime    #按文件创建时间查找(天);
-mmin     #按文件修改时间查找(分钟);
-cmin     #按文件创建时间查找(分钟);
-maxdepth    #查找目录级别深度;

3.find命令操作练习

(1)查找/data 目录下以.txt 结尾的文件
find /data -name "*.txt"
(2)查找/data 目录下以大写字母开头的文件;
find /data -name "[A-Z]*"
(3)查找/data 目录下以 test 开头的文件
find /data -name "test*"
(4)查找/data 目录下的文件夹
find /data -type d
(5)查找/data 目录下的非文件夹
find /data ! -type d
(6)查找/data 目录下的链接文件
find /data -type l
(7)查找/data 下的目录,并将权限设置为 755
find /data -type d -exec chmod 755 {} ;
(8)查找/data 下的文件,并将权限设置为 644
find /data -type f -exec chmod 644 {} ;
(9)查找文件大小大于 1mb 的文件
find /data -size +1M
(10)查找文件大小为 1Mb 的文件
find /data -size 1M
(11)查找文件大小小于 1Mb 的文件
find /data -size -1M
(12)查找 30 天以前的 log 文件
find /data -mtime +30 -name "*.log"
(13)查找 30 天以内的 log 文件
find /data -mtime -30 -name "*.log"
(14)查找第 30 天的 log 文件
find /data -mtime 30 -name "*.log"
(15)查找 30 分钟以前修改的 log 文件
find /data -mmin +30 -name "*.log"
(16)查找 30 分钟以内被访问的 log 文件
find /data -amin -30 -name "*.log"
(17)查找第 30 分钟改变的 log 文件
find /data -cmin 30 -name "*.log"
(18)查找/data 目录以.log 结尾,文件大小大于 10k 的文件,同时 cp 到/tmp 目录;
find /data -name "*.log" -size +10k -exec cp {} /tmp ;
(19)查找/data 目录以.log 结尾,文件大于 10k 的文件,权限为 644 并删除该文件;
find /data -name "*.log" -size +10k -perm 644 -exec rm -rf {} ;
原文地址:https://www.cnblogs.com/IMSCZ/p/11799173.html