
find 命令的功能是根据给定的路径和条件查找相关文件或目录,其参数灵活方便,且支持正则表达式,结合管道符后能够实现更加复杂的功能,是 Linux 系统运维人员必须掌握的命令之一。
find 命令通常进行的是从根目录(/)开始的全盘搜索,有别于 whereis、which、locate 等有条件或部分文件的搜索。对于服务器负载较高的情况,建议不要在高峰时期使用 find 命令的模糊搜索,这会相对消耗较多的系统资源。
1.命令格式:
find 路劲 条件 文件名2.常用参数:
-name 匹配文件名-perm 匹配文件权限-user 匹配文件所属主-group 匹配文件所属组-mtime 匹配最后修改文件内容时间-atime 匹配最后读取文件内容时间-ctime 匹配最后修改文件属性时间-nouser 匹配无所属主的文件-nogroup 匹配无所属组的文件-newer 匹配比指定文件更新的文件-type 匹配文件类型-size 匹配文件大小-prune 不搜索指定目录-exec......{}\; 进一步处理搜索结果
3.参考示例:
全盘搜索系统中所有以.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/debuginfoinstall.conf/etc/dnf/plugins/productid.conf/etc/dnf/plugins/subscriptionmanager.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
列出当前工作目录中的所有文件、目录以及子文件信息:
[root@linuxcool ~]# find .../.bash_logout./.bash_profile./.bashrc./.cshrc./.tcshrc./anacondaks.cfg………………省略部分输出信息………………
在/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/sssdnss.log/var/log/sssd/sssd_kcm.log/var/log/tuned/tuned.log/var/log/anaconda/anaconda.log/var/log/anaconda/X.log………………省略部分输出信息………………
在/var/log 目录下搜索所有不是以.log 结尾的文件:
[root@linuxcool ~]# find /var/log ! name "*.log"/var/log/var/log/lastlog/var/log/README/var/log/private/var/log/wtmp/var/log/btmp/var/log/samba
搜索当前工作目录中所有近 7 天被修改过的文件:
[root@linuxcool ~]# find . -mtime +7./.bashlogout./.bashprofile./.bashrc./.cshrc./.tcshrc………………省略部分输出信息………………


认准红帽官方授权
微思-红帽官方授权合作伙伴!


— Linux文章推荐 —









系统集成
认证培训
买设备,找我们
IT维保,找我们
IT培训,找我们