当前所在位置: 首页 > 数码科技

find命令 - 根据路径和条件搜索指定文件

2024-01-09 本站作者 【 字体:

find命令的功能是用于根据给定的路径和条件查找相关文件或目录,参数灵活方便,且支持正则表达式,结合管道符后能

find命令的功能是用于根据给定的路径和条件查找相关文件或目录,参数灵活方便,且支持正则表达式,结合管道符后能够实现更加复杂的功能,是Linux系统运维人员日常工作必须掌握的命令之一。

find命令通常进行的是从根目录(/)开始的全盘搜索,有别于whereis、which、locate……等的有条件或部分文件的搜索。对于服务器负载较高的情况,建议不要在高峰时期使用find命令的模糊搜索,会相对消耗较多的系统资源。

语法格式:find [路径] [条件] 文件名

常用参数

-name 匹配文件名
-perm 匹配文件权限
-user 匹配文件所属主
-group 匹配文件所属组
-mtime 匹配最后修改文件内容时间
-atime 匹配最后读取文件内容时间
-ctime 匹配最后修改文件属性时间
-nouser 匹配无所属主的文件
-nogroup 匹配无所属组的文件
-newer 匹配比指定文件更新的文件
-type 匹配文件类型
-size 匹配文件大小
-prune 不搜索指定目录
-exec …… {}\; 进一步处理搜索结果

参考示例

全盘搜索系统中所有以.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目录中搜索所有大于1M大小的文件:

[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
./anaconda-ks.cfg
………………省略部分输出信息………………

在/var/log目录下搜索所有指定后缀的文件,后缀不需要大小写。

[root@linuxcool ~]# find /var/log -iname "*.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
………………省略部分输出信息………………

在/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
./.bash_logout
./.bash_profile
./.bashrc
./.cshrc
./.tcshrc
………………省略部分输出信息………………

全盘搜索系统中所有类型为目录,且权限为1777的目录文件:

[root@linuxcool ~]# find / -type d -perm 1777
/dev/mqueue
/dev/shm
/var/tmp
/tmp
………………省略部分输出信息………………

全盘搜索系统中所有类型为普通文件,且可以执行的文件信息:

[root@linuxcool ~]# find / -type f -perm /a=x 
/boot/vmlinuz-4.18.0-80.el8.x86_64
/boot/vmlinuz-0-rescue-c8b04558503242459d908c6c22a2d481
/etc/X11/xinit/xinitrc.d/50-systemd-user.sh
/etc/X11/xinit/xinitrc.d/00-start-message-bus.sh
/etc/X11/xinit/xinitrc.d/localuser.sh
/etc/X11/xinit/Xclients
/etc/X11/xinit/Xsession
/etc/X11/xinit/xinitrc
………………省略部分输出信息………………

全盘搜索系统中所有后缀为.mp4的文件,并删除所有查找到的文件:

[root@linuxcool ~]# find / -name "*.mp4" -exec rm -rf {} \;

与该功能相关的Linux命令:

  • rwho命令 – 查看系统用户
  • ssh-add命令 – agent的高速缓存
  • modinfo命令 – 显示kernel模块的信息
  • logwatch命令 – 遍历系统日志
  • whoami命令 – 显示当前用户名
  • sysctl命令 – 配置系统内核参数
  • time命令 – 指令执行时所消耗的时间
  • ssh-agent命令 – ssh密钥管理器
  • lilo命令 – 安装核心载入
  • ssh-copy-id命令 – 复制SSH公钥到远程主机
阅读全文
id_1广告位-300*300
相关推荐

华为哪款手机玩游戏性能最好

华为哪款手机玩游戏性能最好
随着手机游戏的日益普及,智能手机的性能对于玩家来说变得尤为重要。作为领先的智能手...

扩音器什么品牌音质最好(哪个品牌的扩音器音质最佳?)

扩音器什么品牌音质最好(哪个品牌的扩音器音质最佳?)
在音响领域,扬声器作为一种重要的扩音设备,广泛应用于演讲、演出、会议等场合。市场...

铠侠固态硬盘怎么样(铠侠固态硬盘的表现如何?)

铠侠固态硬盘怎么样(铠侠固态硬盘的表现如何?)
固态硬盘作为一种计算机存储设备,近年来因其在性能和速度上的突破而受到广泛关注。作...

公认最静音的电风扇(国内10大电风扇品牌排行)

公认最静音的电风扇(国内10大电风扇品牌排行)
本文将对国内10大电风扇品牌进行排名,并深入分析各品牌的产品优势。公认最安静的电...

光信号闪红灯会自己好吗(路由器闪红灯是怎么回事)

光信号闪红灯会自己好吗(路由器闪红灯是怎么回事)
路由器断网是一件很头疼的事情。路由器闪烁红灯,无法连接到网络。路由器上闪烁的红灯...

联想k29为什么是神机(联想k29怎么样)

联想k29为什么是神机(联想k29怎么样)
在现代科技发展的浪潮中,智能手机已经成为人们生活的必需品。在众多手机品牌中,联想...

国内冰箱排名前十的品牌(质量最好的10大冰箱品牌)

国内冰箱排名前十的品牌(质量最好的10大冰箱品牌)
中国冰箱行业是全球最大的冰箱生产和消费市场之一。今天小编介绍2023年中国十大冰...

凯夫拉手机壳怎么样(凯夫拉手机壳的表现如何?)

凯夫拉手机壳怎么样(凯夫拉手机壳的表现如何?)
手机已经成为我们日常生活中不可或缺的一部分,因此保护手机免受损害成为一项重要的任...

键盘突然没反应是怎么回事

键盘突然没反应是怎么回事
随着现代科学技术的飞速发展,计算机已经成为我们生活中不可缺少的一部分。但是在电脑...

垃圾处理器有必要买吗(垃圾处理器值得买吗)

垃圾处理器有必要买吗(垃圾处理器值得买吗)
现代社会,科技的不断进步,消费方式的改变,让我们面临越来越多的选择。作为一种新型...