小白入门之十四:find命令实现多条件查找文件
目的
熟练使用find命令在多条件限定下查找符合条件的文件。
find命令功能:在一个层级目录里搜寻文件,支持查询条件为文件名、文件大小、文件权限、文件属组/属主、文件时间戳、文件类型等。
前提
可用的centos7系统,连接网络。
命令介绍
【例1】查找/var目录下属主为root,且属组为mail的所有文件
[root@Magedu ~]# find /var/ -user root -group mail
/var/spool/mail
/var/spool/mail/root
【例2】查找/var目录下不属于root、lp、gdm的所有文件
[root@Magedu ~]# find /var -not \( -user root -o -user lp -o -user gdm \)
【例3】找出/home/var/log目录下删除所有以.log结尾的文件并无需人工确认删除
[root@Magedu ~]# find /home/var/log -name "*.log" -exec rm {} \;
【例4】找出/etc目录下所有以.conf结尾的文件
[root@Magedu ~]# find /etc -name "*.conf"
【例5】将30天前的.log文件,大于10G的文件移动到old目录中
[root@Magedu ~]# find ./ -type f -size +10G -mtime +30 -name "*.log" -exec mv {} old \;
【例6】查找/tmp目录下,u,g,o任何一类用户(至少有一类)中有读或写权限的文件;
[root@Magedu ~]# find /tmp/ -perm /666 -ls
【例7】查找/tmp目录下,权限为104的文件
[root@Magedu ~]# find /tmp/ -perm 104 -ls
【例8】查找/tmp目录下,任何一类用户的任何一位权限有执行或或读权限的文件;
[root@Magedu ~]# find /tmp/ -perm /104 -ls
【例9】查找/tmp目录下,属主有执行权限同时其它有读权限的文件
[root@Magedu ~]# find /tmp/ -perm -104 -ls
文章来源于网络,侵删!