【Shell】find文件查找

2023-11-01

语法格式

find [路径] [选项] [操作]

选项参数对照表

在这里插入图片描述
在这里插入图片描述

常用选项

-name 查找/etc目录下以conf结尾的文件ind /etc -nam
-iname 查找当前目录下文件名为aa的文件,不区分大小写 find . -iname aa
-user 查找文件属主为hdfs的所有文件find . -user hdfs
-group 查找文件属组为yarn的所有文件find . -group yarn
-type

	f		文件			 		find . -type f
	d		目录					find . -type d
	c		字符设备文件			find . -type c
	b		块设备文件			find . -type b
	l		链接文件				find . -type l
	p		管道文件				find . -type p

-size 文件大小

    -n		小于n的文件
	+n	    大于n的文件
	 n		等于n的文件

例子1:查找/etc目录下小于10000字节的文件 find /etc -size -10000c
例子2:查找/etc目录下大于1M的文件 find /etc -size +1M

-mtime 修改天数

	-n 		n天以内修改的文件
	+n		n天以外修改的文件
	 n		正好n天修改的文件

例子1:查找/etc目录下5天之内修改且以cons结尾的文件 find /etc -mtime -5 -name ‘*.conf’
例子2:查找/etc目录下10天之前修改且属主为root的文件find /etc -mtime +10 -user root

-mmin 修改分钟

	-n		n分钟以内修改的文件
	+n		n分钟以外修改的文件

例子1:查找/etc目录下30分钟之前修改的文件 find /etc -mmin +30
例子2:查找/etc目录下30分钟之内修改的目录 find /etc -mmin -30 -type d

-mindepth n 表示从n级子目录开始搜索

例子:在/etc下的3级子目录开始搜索find /etc -mindepth 3

-maxdepth n 表示最多搜索到n-1级子目录

例子1:在/etc下搜索符合条件的文件,但最多搜索到2级子目录
find /etc -maxdepth 3 -name '*.conf'
例子2:find ./etc/ -type f -name '*.conf' -size +10k -maxdepth 2

不常用选项

-nouser 查询没有所属用户的文件,find /etc -type f -nouser
-nogroup 查询没有所属组的文件,find /etc -type f -nogroup
-perm 根据文件权限查找,find . -perm 664
-prune 排除文件或目录
通常和-path一起使用,用于将特定目录排除在搜索条件之外。-path ./etc -prune 固定格式。

例子1:查找当前目录下所有普通文件,但排除test自
find . -path ./etc -prune -o -type f
例子2:查找当前目录下所有普通文件,但排除etc和opt目录
find . -path ./etc -prune -o -path ./opt -prune -o -type f
例子3:查找当前目录下所有普通文件,但排除etc和opt目录,但属主为hdfs
find . -path ./etc -prune -o -path ./opt -prune -o -type f -a -user hdfs
例子4:查找当前目录下所有普通文件,但排除etc和opt目录,但属主为hdfs,且文件大小必须大于500字节
find . -path ./etc -prune -o -path ./opt -prune -o -type f -a -user hdfs -a -size +500c

-newer file1 查找当前目录下比 a 文件要新的文件

例子: find /etc -newer a

操作

-print 打印输出。 默认的选项,即打印出找到的结果。
-exec 对搜索到的文件执行特定的操作,固定的格式为:-exec 'commond' {} \; 注意:{} 表示查询的结果。

例1: 搜索 /etc 目录下的文件(非目录),文件以 conf 结尾,且大于 10k,然后将其删除。
find /etc -type f -name '*.conf' -size +10k -exec rm -f {} \;
例2: 将 /data/log/ 目录下以 .log 结尾的文件,且更改时间在 7 天以上的删除。
find /data/log -name '*.log' -mtime +7 -exec rm -f \;
例3: 搜索条件同 例1 一样,但是不删除,只是将其复制到 /root/conf 目录下
find /etc -type f -name '*.conf' -size +10k -exec cp {} /root/conf/ \;

-ok 和 -exec 的功能一样,只是每次操作都会给用户提示。

逻辑运算符

-a    与 (默认情况查询条件之间都是 与 的关系)

-o    或

-not | !  非

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Shell】find文件查找 的相关文章

随机推荐

  • 我要进大厂第二讲:如何准备好一场大厂面试

    我要进大厂第二讲 如何准备好一场大厂面试 本文是我要进大厂第二讲 如何准备好一场大厂面试 4年经验 我有个同事跟我说过 他曾经的老大告诉他们 无论是否跳槽 每年都应该出去面试一下 我个人对这个想法持支持态度 至少在我们还年轻的时候应该尽量这
  • 求数组最小值和最小值的下标

    描述 定义一个含10个元素的整型数组 从键盘输入数组所有元素的值 并求该数组中的最小值和最小值的下标 如果最小值在数组中出现多次 输出最小的那个下标 输入 10个整数 输出 最小值和最小值的下标 如果最小值在数组中出现多次 输出最小的那个下
  • (U+FF1A)

    Package inputenc Error Unicode character U FF1A 错误原因 冒号 是中文格式
  • anaconda的envs的其中一个环境目录下,没有python.exe文件,只有conda-meta和scripts

    进入Anaconda软件中 删除该环境 左下角create重新创建环境 系统就会重新配置python等相关文件
  • 19-jQuery快速开发②

    jQuery快速开发 1 jQuery 属性操作 1 1 元素固有属性值 prop 1 2 元素自定义属性值 attr 1 3 数据缓存 data 1 4 案例 购物车案例模块 全选 2 jQuery 文本属性值 2 1 jQuery内容文
  • 数据库空闲连接超过最大wai_timemout时间,数据库会强行断开空闲的链接,dbcp解决方案

    虚拟空间的mysql数据库常设得很低 如wait timeout 100 在java web 应用中使用dbcp做为连接池 当数据库重启或数据库连接超过设置的最大timemout时间 数据库会强行断开已有的链接 此时当web程序访问数据库时
  • Qt5 学习之路及嵌入式开发教程18:Qt5主窗口---字体字号状态栏

    Qt5 学习之路及嵌入式开发教程18 Qt5主窗口 字体字号状态栏 这次任务要完成Qt5主窗口的界面设计第五部分 字体字号状态栏功能实现 无法用控件完成 只能用代码完成 步骤 1 在mainwidow h中添加代码 include
  • 政策效应,基于反事实框架

    政策效应 基于反事实框架 一 Edited by Linhao Cui 根据陈强高级计量经济学及stata应用等书籍自己整理得到 仅供学习交流使用 从一个基准的理想政策评价模型出发 Y i
  • Oracle插入或修改数据怎么也不行的解决方法

    今天在公司操作数据库 在删除一条数据的时候忘记提交事务了 之后就去添加别的了 但是后来发现怎么也添加不上 所以觉的是事务锁住了 1 直接判断未提交事务引起的表的行锁 1 1判断哪个SESSION执行了DML Insert Update De
  • C语言-蓝桥杯-算法训练 印章

    问题描述 共有 n 种图案的印章 每种图案的出现概率相同 小A买了 m 张印章 求小A集齐 n 种印章的概率 输入格式 一行两个正整数n和m 输出格式 一个实数P表示答案 保留4位小数 样例输入 2 3 样例输出 0 7500 解题思路 共
  • PPTP穿透NAT之深入分析

    PPTP穿透NAT之深入分析 bytxl的专栏 CSDN博客大家好 现在是人静时分 我公司人员都以溜光 只有我还在面对computer 在经过不解 迷惑 结论之后 现与大家分享结果 感谢朋友Zyliday 见贤思齐的实验帮助 在研究技术原理
  • URP自定义后处理(相机滤镜)

    前言 之前做游戏一直想弄个可以实时触发相机滤镜的效果 自处找了教程和资料 想要做到自定义效果的话最好办法是在unity 内部实现 这个办法比较硬核 其实不适合我这样的小白 所以我在实现的过程中非常痛苦 我用的unity URP 模式其实自带
  • OMG!解释执行java字节码文件的命令

    美团一面 收到了HR的信息 通知我去面试 说实话真的挺紧张的 自己准备了近一个月的时间 很担心面试不过 到时候又后悔不该 裸辞 自我介绍 spring的IOC AOP原理 springmvc的工作流程 handlemapping接收的是什么
  • python中的list格式化输出

    在使用python时 我们经常会用到列表 list 由于它可以保存不同类型的数据 因此很多场景下我们都会使用它来保存数据 在写代码的过程中我们经常想要显示list的内容 直接调用print又会显得很丑 还会带着方括号 和逗号 这个太丑 又不
  • Hive数据库连接-连接池实现

    Hive数据库连接 连接池实现 通过HiveJDBC获取Hive的连接Connection 下面我们简单介绍HiveJDBC数据库连接实现 HiveJDBC配置文件 连接池配置文件hive jdbc properties 初始化连接池数 d
  • Linux运维跳槽必备的40道面试精华题

    1 什么是运维 什么是游戏运维 1 运维是指大型组织已经建立好的网络软硬件的维护 就是要保证业务的上线与运作的正常 在他运转的过程中 对他进行维护 他集合了网络 系统 数据库 开发 安全 监控于一身的技术 运维又包括很多种 有DBA运维 网
  • 鼠标点击获得opencv图像坐标和像素值

    目录 一 核心函数 二 在类中定义并且使用 1 将回调函数直接声明为友元函数 2 h 3 DW S OnMou cpp 4 main cpp 三 函数调用 1 OnMouse h 2 OnMouse cpp 一 核心函数 setMouseC
  • 如何在没有 USB 数据线的情况下使用 Android Studio 在手机中安装 Android

    背景 如何在没有 USB 数据线的情况下使用 Android Studio 在手机中安装 Android 应用程序 运行调式一个Android项目 写下必要的代码后 接下来的任务是在模拟器或手机上运行应用程序 测试应用程序是否正常 及deb
  • python numpy中对ndarry按照index(位置下标)增删改查

    在numpy中的ndarry是一个数组 因此index就是位置下标 注意下标是从0开始 增加 在插入时使用np insert 在末尾添加时使用np append 删除 需要使用np delete 修改 直接指定下标 查找 直接指定下标 示例
  • 【Shell】find文件查找

    语法格式 find 路径 选项 操作 选项参数对照表 常用选项 name 查找 etc目录下以conf结尾的文件ind etc nam iname 查找当前目录下文件名为aa的文件 不区分大小写 find iname aa user 查找文