1.name: 指定文件名
例子1. 找到以ken结尾的文件
[root@ken ~]# find / -name “*ken”
例子2:找到包含ken的文件
[root@ken ~]# find / -name “ken” | head -3
- perm:指定文件权限
例子1:找到所有644权限的文件
[root@ken ~]# find / -perm 644 | head -3
例子2:模糊匹配644权限
[root@ken ~]# find / -perm -644 | head -3
- user:指定属主
例子1:找到属主是ken的文件
[root@ken ~]# find /etc -user ken
[root@ken ~]# find / -user ken
[root@ken ~]# ls -l /var/spool/mail/ken
4.group:指定属组
例子1:
[root@ken ~]# ls -l /var/spool/mail/ken
[root@ken ~]# find / -group ken
[root@ken ~]# ls -l /home/ken -d
-
nouser:指定无属主
例子1:
[root@ken ~]# useradd kenken
[root@ken ~]# touch test
[root@ken ~]# chown kenken: test
[root@ken ~]# userdel kenken
[root@ken ~]# find / -nouser -
nogroup:指定无属主
[root@ken ~]# find / -nogroup
7.type:指定文件类型
例子1:找到所有的链接文件
[root@ken ~]# find / -type l | head -3
[root@ken ~]# ls -l /dev/cdrom
例子2: 找到所有普通文件
[root@ken ~]# find / -type f | head -3
[root@ken ~]# ls -l /boot/grub2/device.map
-
size:指定文件大小
例子1:找到大于100M的文件
[root@ken ~]# find / -size +100M
[root@ken ~]# ls -lh /root/gitlab-ce-8.9.5-ce.0.el7.x86_64.rpm -
mtime: 指文件修改时间,权限,属主,属组
例子1:找到文件修改时间一天以上的
[root@ken ~]# find / -mtime +1 | head -3
[root@ken ~]# stat /boot -
atime:指定文件访问时间
[root@ken ~]# find / -atime +1 | head -3
[root@ken ~]# stat /boot/grub2/device.map
11.ctime:指定文件内容
例子1:指定文件内容修改一天以上
[root@ken ~]# find / -ctime +1 | head -3
[root@ken ~]# stat /boot
- exec: 执行命令
例子1:删除无属主的文件
[root@ken ~]# find / -nouser
[root@ken ~]# find / -nouser -exec rm -rf {} ;
[root@ken ~]# find / -nouser -exec rm -rf {} ;
[root@ken ~]# find / -nouser
例子2:xargs
[root@ken ~]# touch {1..100}.txt
[root@ken ~]# powd
[root@ken ~]# pwd
/root
[root@ken ~]# ls
[root@ken ~]# find /root -name “*txt” | xargs rm -rf
[root@ken ~]# ls
13.find可以使用-a和-o或!
例子1:找到所有事普通文件并且权限是777
[root@ken ~]# find / -type f -a -perm 644 | head -3
[root@ken ~]# ls -l /boot/grub2/device.map
-rw-r–r–. 1 root root 64 Feb 26 22:25 /boot/grub2/device.map
网友评论