Linux中find详解

1.name: 指定文件名
例子1. 找到以ken结尾的文件
[root@ken ~]# find / -name “*ken”
 
 
例子2:找到包含ken的文件
[root@ken ~]# find / -name “*ken*” | head -3
 
 
 
2. perm:指定文件权限
例子1:找到所有644权限的文件
[root@ken ~]# find / -perm 644 | head -3
 
 
例子2:模糊匹配644权限
[root@ken ~]# find / -perm -644 | head -3
 
 
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
 
 
5. nouser:指定无属主
例子1:
[root@ken ~]# useradd kenken
[root@ken ~]# touch test
[root@ken ~]# chown kenken: test
[root@ken ~]# userdel kenken
[root@ken ~]# find / -nouser
 
 
6. 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
 
 
8. size:指定文件大小
例子1:找到大于100M的文件
[root@ken ~]# find / -size +100M
[root@ken ~]# ls -lh /root/gitlab-ce-8.9.5-ce.0.el7.x86_64.rpm
 
 
9. mtime: 指文件修改时间,权限,属主,属组
例子1:找到文件修改时间一天以上的
[root@ken ~]# find / -mtime +1 | head -3
[root@ken ~]# stat /boot
 
 
10. 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
 
 
12. 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
 

猜你喜欢

转载自www.cnblogs.com/zp-1996/p/10922404.html