当前位置: 首页 > news >正文

find 命令是 Linux 系统中用于在文件系统中查找文件和目录的强大工具

功能概述
find 命令用于在指定目录及其子目录下查找符合特定条件的文件和目录。这些条件可以基于文件名、文件类型、文件大小、文件权限、文件修改时间等多种属性来设定。

在这里插入图片描述

  1. 按文件名查找
-name:精确匹配文件名。
示例:在当前目录及其子目录中查找名为test.txt的文件,使用find. -name "test.txt"。这里的.表示当前目录,-name后面跟要查找的文件名。如果要查找多个文件名相似的文件,可以使用通配符。比如find /home -name "*.log",可以在/home目录及其子目录下查找所有以.log结尾的文件,*表示任意长度的字符序列。
-iname:不区分文件名大小写进行匹配。
示例:在/目录下查找名为README.md或readme.md等不区分大小写的同名文件,使用find / -iname "readme.md"
  1. 按文件类型查找
-type:用于指定文件类型。常见类型:f(普通文件)、d(目录)、l(符号链接)、c(字符设备文件)、b(块设备文件)、p(管道文件)、s(套接字文件)。
示例:
查找当前目录及其子目录下的所有目录,使用find. -type d。
在/dev目录下查找字符设备文件,使用find /dev -type c。
  1. 按文件大小查找
-size:根据文件大小查找,单位有b(512 字节块,默认)、c(字节)、k(1024 字节)、M(1024 * 1024 字节)、G(1024 * 1024 * 1024 字节)。
示例:
查找当前目录及其子目录下大于 10 兆字节的文件,使用find. -size +10M。这里+表示大于,同理,-表示小于,没有符号表示等于。例如,find /var -size -50k表示在/var目录下查找小于 50 千字节的文件。
  1. 按文件权限查找
-perm:查找具有特定权限的文件,权限可以用数字形式(如755)或符号形式(如u=rwx,g=rx,o=rx)表示。
示例:
查找当前目录及其子目录下权限为644的文件,使用find. -perm 644。
在/etc目录下查找用户具有执行权限的文件,使用find /etc -perm -u+x。这里-表示至少具有指定权限,如果是/则表示精确匹配权限。
  1. 按文件修改时间查找
-mmin(以分钟为单位)、-mtime(以 24 小时为单位):用于查找文件修改时间符合条件的文件。
示例:
查找当前目录及其子目录下在 60 分钟内修改过的文件,使用find. -mmin -60。
在/home目录下查找超过 7 天前修改过的文件,使用find /home -mtime +7。+表示大于,-表示小于,没有符号表示等于。
-atime(以 24 小时为单位)、-amin(以分钟为单位):类似地,用于查找文件访问时间符合条件的文件。
  1. 逻辑组合操作
-and(或&&):同时满足多个条件。
示例:查找当前目录下文件名以.txt结尾且大小大于 10 千字节的文件,使用find. -name "*.txt" -and -size +10k。
-or(或||):满足其中一个条件即可。
示例:查找当前目录下文件名以.txt或.log结尾的文件,使用find. -name "*.txt" -or -name "*.log"。
-not(或!):对条件取反。
示例:查找当前目录下文件名不是以.txt结尾的文件,使用find. -not -name "*.txt"。
括号(需要转义):用于分组条件。
示例:查找文件名以.txt或.log结尾且大小大于 10 千字节的文件,使用find \( -name "*.txt" -or -name "*.log" \) -and -size +10k。
  1. 对找到的文件执行操作
-exec:对找到的文件执行指定的命令。
示例:删除当前目录及其子目录下所有名为.txt的文件,使用find. -name "*.txt" -exec rm {} \;。其中{}表示找到的文件路径,\;是命令的结束标志。
-ok:和-exec类似,但在执行命令之前会询问用户。
示例:将每个名为backup.*的文件移动到/backup目录之前询问用户,使用find. -name "backup.*" -ok mv {} /backup \;
  1. 其他功能示例
指定查找深度:使用-maxdepth和-mindepth。例如,只在当前目录下查找文件(不包括子目录),使用find. -maxdepth 1 -name "*.cfg"。如果要从第二层目录开始查找,可以使用-mindepth 2。
根据文件所有者或所属组查找:
-user:查找属于特定用户的文件。例如,查找属于user1的文件,使用find / -user user1。
-group:查找属于特定组的文件。例如,查找属于group1的文件,使用find / -group group1。

http://www.mrgr.cn/news/70346.html

相关文章:

  • 基于之前的秒杀功能的优化(包括Sentinel在SpringBoot中的简单应用)
  • CSS —— 子绝父相
  • 飞米仕智能门锁:以科技之名,重塑未来家居安全新篇章
  • 【es6进阶】vue3中的数据劫持的最新实现方案的proxy的详解
  • PL/I语言的起源?Objective C语言起源哪里?JavaScript的起源?Java的起源?B语言的起源?C++语言的起源?C#的起源?
  • Python棉花病虫害图谱系统CNN识别+AI问答知识neo4j vue+flask深度学习神经网络可视化
  • 智能量化交易的核心应用与中阳发展前景
  • RTSP播放器EasyPlayer.js无插件直播流媒体音视频播放器使用http与https的区别
  • 【SpringBoot】——Spring Validation之用户注册、JWT令牌之用户登入
  • Debezium日常分享系列之:debezium3模块
  • ubuntu 22.04 server 安装 mysql 5.7.40 LTS
  • 优化时钟网络之时钟抖动
  • java -jar`命令详解:运行JAR文件、传递参数与性能调优
  • OPC学习笔记
  • FPGA学习笔记#3 Vitis HLS编程规范、数据类型、基本运算
  • 【神经科学学习笔记】基于分层嵌套谱分割(Nested Spectral Partition)模型分析大脑网络整合与分离的局部指标(二)
  • 【HCIP园区网综合拓扑实验】配置步骤与详解(已施工完毕)
  • 业务开发时,接口不能对外暴露怎么办?
  • C++初阶——类和对象(中)
  • 政策变化?软考考试39分就过线了?
  • C++(继承)
  • 如何清晰地描述一个磁体采购需求
  • 星海智算:风月ComfyUI_SD3.5
  • 深度学习笔记12
  • 铠侠代理商 | KIOXIA SLC闪存选型和应用
  • Java爬虫精准获得JD商品SKU信息