linux-find
find命令通常进行的是从根目录(/)开始的全盘搜索,有别于whereis、which、locate等有条件或部分文件的搜索。对于服务器负载较高的情况,建议不要在高峰时期使用find命令的模糊搜索,这会相对消耗较多的系统资源。
语法格式:find 路径 条件 文件名
常用参数:
参考示例
全盘搜索系统中所有以.conf结尾的文件:
[root@linuxcool ~]# find / -name *.conf
/run/tmpfiles.d/kmod.conf /etc/resolv.conf
/etc/dnf/dnf.conf /etc/dnf/plugins/copr.conf
/etc/dnf/plugins/debuginfo-install.conf
/etc/dnf/plugins/product-id.conf
/etc/dnf/plugins/subscription-manager.conf
………………省略部分输出信息………………
在/etc目录中搜索所有大于1MB的文件:
[root@linuxcool ~]# find /etc -size +1M
/etc/selinux/targeted/policy/policy.31
/etc/udev/hwdb.bin
在/home目录中搜索所有属于指定用户的文件:
[root@linuxcool ~]# find /home -user linuxprobe
/home/linuxprobe
/home/linuxprobe/.mozilla
/home/linuxprobe/.mozilla/extensions
/home/linuxprobe/.mozilla/plugins
/home/linuxprobe/.bash_logout
/home/linuxprobe/.bash_profile
/home/linuxprobe/.bashrc
在/var/log目录下搜索所有指定后缀的文件:
[root@linuxcool ~]# find /var/log -name "*.log"
/var/log/audit/audit.log
/var/log/rhsm/rhsmcertd.log
/var/log/rhsm/rhsm.log
/var/log/sssd/sssd.log
/var/log/sssd/sssd_implicit_files.log
/var/log/sssd/sssd_nss.log
/var/log/sssd/sssd_kcm.log
/var/log/tuned/tuned.log/var/log/anaconda/anaconda.log
/var/log/anaconda/X.log
………………省略部分输出信息………………
搜索当前工作目录中所有近7天被修改过的文件:
[root@linuxcool ~]# find . -mtime +7
./.bash_logout
./.bash_profile
./.bashrc
./.cshrc
./.tcshr………………省略部分输出信息………………
全盘搜索系统中所有类型为目录,且权限为1777的目录文件:
[root@linuxcool ~]# find / -type d -perm 1777 /dev/mqueue
/dev/shm /var/tmp /tmp
………………省略部分输出信息………………
全盘搜索系统中所有后缀为.mp4的文件,并删除所有查找到的文件:
[root@linuxcool ~]# find / -name "*.mp4" -exec rm -rf {} \;