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 {} \;