1.为什么要文件查找
在linux系统中文件非常多,不可能记住所有文件的路径。
2.按文件名称查找
选项:-i :忽略大小写(在linux中区分大小写)
例子:[root@goodboy network-scripts]# find /etc -iname "*asd1"
/etc/sysconfig/network-scripts/IFCONFID-ASD1
/etc/sysconfig/network-scripts/ifconfig-asd1
3.按文件大小查找 -size
例子:查找大于2M的文件
[root@goodboy network-scripts]# find /etc/ -size +2M | xargs ls -lh
-rw-------. 1 root root 3.8M 11月 3 2018 /etc/selinux/targeted/active/policy.kern
-rw-r--r--. 1 root root 3.8M 11月 3 2018 /etc/selinux/targeted/policy/policy.31
-r--r--r--. 1 root root 7.6M 3月 14 21:44 /etc/udev/hwdb.bin
4.按类型查找文件 -type
f:文件 d:目录 l:链接 b:块设备 c:字符设备 s:套接字(进程与进程的协议)
用法:[root@xuliangwei ~]# find /dev -type f
[root@xuliangwei ~]# find /dev -type d
[root@xuliangwei ~]# find /dev -type l
[root@xuliangwei ~]# find /dev -type b
[root@xuliangwei ~]# find /dev -type c
[root@xuliangwei ~]# find /dev -type s
5.按时间查找文件 -mtime
例子:本地文件保留最近7天的备份文件, 备份服务器保留3个月的备份文件(实际使用方案):
find /backup/ -iname "*.bak" -mtime +7 -delete
find /backup/ -iname "*.bak" -mtime +90 -delete
6.按用户查找文件 -(no)user、-(no)group
例子:1.查找属主oldxu
[root@goodboy ~]# find /home/ -user oldxu
/home/oldxu
2.查找没有属主或属组
[root@goodboy ~]# find /var/ -nogroup -o -nouser
/var/spool/mail/u2
/var/spool/mail/u3
/var/spool/mail/hr02
/var/spool/mail/hr03
/var/spool/mail/oldwoman
/var/spool/mail/natasha
/var/spool/mail/harry
/var/spool/mail/jacky