Linux 下find常用命令整理(更新ing)

1.find 查找文件时排除指定目录

find /path/to/search -path /path/to/search/exclude_dir -prune -o -type f -name "*.txt" -print

在这个命令中:

  • /path/to/search 是你想要搜索的顶级目录。
  • -path /path/to/search/exclude_dir 指定了要排除的目录的路径。
  • -prune 选项告诉 find 命令不要进入 -path 指定的目录。
  • -o 是逻辑“或”(OR)的意思,它用于连接 -prune 和后面的搜索条件。由于 -prune 返回 true(表示已经排除了该目录),find 不会执行后面的 -type f -name "*.txt" 条件在该目录内。但是,在其他未被排除的目录中,find 会执行这些条件。
  • -type f 指定只查找文件(不包括目录)。
  • -name "*.txt" 指定只查找扩展名为 .txt 的文件。
  • -printfind 命令的默认操作,用于打印找到的文件路径。在这里显式地写出来是为了清晰起见,但实际上可以省略。

也可以多次使用 -path ... -prune -o 的组合,或者用括号将它们组合起来(注意,括号需要用反斜杠转义或使用单引号/双引号

find /path/to/search \( -path /path/to/search/exclude_dir1 -o -path /path/to/search/exclude_dir2  -o -path /path/to/search/exclude_dir3 \) -prune -o -type f -name "*.txt" -print

常见选项

  1. 按文件名查找

    • -name pattern:按照文件名模式进行匹配搜索,支持通配符。
    • -iname pattern:类似于-name,但忽略文件名的大小写。
  2. 按文件类型查找

    • -type type:按照文件类型进行匹配搜索。type可以是以下几种类型之一:
      • f:普通文件
      • d:目录
      • l:符号链接
      • b:块设备文件
      • c:字符设备文件
      • s:套接字文件
      • p:命名管道文件

      3.按文件大小查找
        -size [+|-]n[cbkMG]:按照文件大小进行匹配搜索。+表示大于,-表示小于,n是具体的大小,[cbkMG]是可选的单位后缀,分别表示字节、KB、MB、GB和TB。

     4.按文件时间查找
        -mtime [+|-]n:按照文件修改时间进行匹配搜索。+表示早于,-表示晚于,n表示天数。
        -atime [+|-]n:按照文件访问时间进行匹配搜索。
        -ctime [+|-]n:按照文件状态改变时间进行匹配搜索。

      5 .按文件权限查找
        -perm mode:按照文件权限进行匹配搜索。mode可以使用八进制或符号格式表示权限。

      6.按文件属主或属组查找
        -user owner:按照文件所有者进行匹配搜索。
        -group group:按照文件所属组进行匹配搜索。

      7. 其他选项
        -exec command {} \;:对搜索到的每个文件执行指定的命令。{}会被搜索到的文件名替换。
        -ok command {} \;:与-exec选项类似,但在执行命令之前会询问用户是否继续。
        -delete:删除搜索到的文件。
        -print:将搜索到的文件名打印到标准输出(默认操作)。
        -ls:类似于ls -l命令的输出格式,显示文件的详细信息。
        -print0:以NULL字符作为分隔符输出搜索到的文件名,可以处理文件名中包含空格或其他   特   

       8.殊字符的情况。
        -quit:在搜索到第一个匹配项后立即退出,不再继续搜索。
        -maxdepth levels:限制搜索的最大深度。
        -mindepth levels:限制搜索的最小深度。
        -prune:排除指定的目录,不进入其中进行搜索。
        -path pattern:类似于-name,但匹配的是文件的完整路径。
        -ipath pattern:类似于-path,但忽略模式的大小写。
        -regex pattern:使用正则表达式进行匹配搜索。
        -iregex pattern:类似于-regex,但忽略正则表达式的大小写。

实用示例

    1. 搜索当前目录下所有扩展名为.txt的文件:

find . -name "*.txt"

    2.搜索/home目录下大于1MB的普通文件:

   

find /home -type f -size +1M

  3.搜索/var/log目录下修改时间早于7天前的日志文件:

find /var/log -type f -mtime +7

   4.搜索/etc目录下所有属于root用户的文件:

find /etc -user root

   5.删除当前目录及其子目录中所有扩展名为.bak的文件:

find . -name "*.bak" -exec rm {} \;

6.搜索当前目录下所有名字中包含file的文件,不区分大小写:

find . -iname "*file*"

  7.搜索/usr/bin目录下所有符号链接文件:

find /usr/bin -type l

  8. 排除指定目录进行搜索:

   

find /path/to/search -path /path/to/search/exclude_dir -prune -o -type f -print

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/453349.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大数据实验3: HDFS基础编程

实验3: HDFS基础编程 一、实验目的 HDFS的shell命令使用HDFS的JAVA API使用; 二、实验平台 操作系统:Linux(Ubuntu16.04);Hadoop版本:3.3.1;JDK版本:1.8;…

498.对角线遍历

目录 题目解法代码说明:输出: 如何确定起始点?解释一下max(0,d−m1)是什么意思? 如何遍历对角线?.push_back是怎么用的? 题目 给你一个大小为 m x n 的矩阵 mat ,请以对角线遍历的顺序&#xf…

Java知识巩固(七)

目录 面向对象 面向对象三大特征 封装 继承 多态 多态 深拷贝和浅拷贝区别了解吗?什么是引用拷贝? 浅拷贝 深拷贝 面向对象 万物皆为对象,也就是描述某个事物解决问题的过程中所发生的事情。 面向对象三大特征 封装 封装是指把一个对象的状态信息&…

目前最新 Reflector V11.1.0.2067版本 .NET 反编译软件

目前最新 Reflector V11.1.0.2067版本 .NET 反编译软件 一、简介二、.NET Reflector的主要功能包括:1. **反编译**: 反编译是将已编译的.NET程序集(如.dll或.exe文件)转换回可读的源代码。这使得开发者可以查看和学习第三方库的实现细节&…

C++ string(2)

文章目录 1.初识迭代器和范围for1.1迭代器1.2范围for1.3 aout关键字 2.字符串长度相关计算1.size 和 length2. capacity 和 reserve 3.例题演示1. [917. 仅仅反转字母 - 力扣(LeetCode)](https://leetcode.cn/problems/reverse-only-letters/description…

spring day 1021

ok了家人们,这周学习spring框架,我们一起去看看吧 Spring 一.Spring概述 1.1 Spring介绍 官网: https://spring.io/ 广义的 Spring : Spring 技术栈 (全家桶) 广义上的 Spring 泛指以 Spring Framework…

Spring AI 整体介绍_关键组件快速入门_prompt_embedding等

Spring AI:Java开发者的AI集成新利器 在过去,Java开发者在构建AI应用时面临着缺乏统一框架的问题,导致不同AI服务的集成过程复杂且耗时。Spring AI应运而生,旨在为基于Java的应用程序提供一个标准化、高效且易于使用的AI开发平台…

浅说差分算法(下)

我们上节课学了一维的差分,但其实还有二维差分,只是比较难写。 差分 二维差分的定义 二维差分是指对于一个n*m的矩阵a,要求支持操作pro(x1,y1,x2,y2,a),表示对于以(x1,y1)为左上角,(x2,y2)为右下角的矩形区域&#…

生产车间质量管理有什么用?怎么做?

在生产车间的质量管理中,科学有效的管理方法和严格规范的执行流程是至关重要的,它能够帮助企业提高产品质量、降低次品率、确保生产过程的稳定性和效率。然而,许多企业在生产车间质量管理方面存在诸多问题,常常会面临以下困境&…

多微批量自动加好友

在数字化时代,微信不仅是社交通讯的工具,更是一个拥有庞大用户基础的流量平台。对于企业而言,微信是打造私域流量池的理想选择之一。然而,随着微信号的增多,手动添加好友和备注变得既繁琐又耗时。幸运的是,…

UNI VFX Missiles Explosions for Visual Effect Graph

Unity URP和HDRP的通用视觉效果 使用在视觉效果图中制作的高性能GPU粒子系统。 无需进入视觉效果图编辑器即可轻松自定义VFX。 使用(VFX)事件——一个游戏对象可存储多个效果,这些效果可通过C#或视觉脚本触发。 总共32个事件(不包括“停止”事件)。 ❓ 什么是(VFX)事件?…

Cpp::STL—容器适配器Stack和Queue的讲解和模拟实现(15)

文章目录 前言一、适配器模式概念分类 二、Stack核心作用代码实现 三、Queue核心作用代码实现 四、deque双端队列貌似兼收并蓄?实则也难以兼得~ 总结 前言 适配器也是STL六大组件之一,请跟我一起领悟它的智慧!   正文开始! 一、…

consumer 角度讲一下i2c外设

往期内容 I2C子系统专栏: I2C(IIC)协议讲解-CSDN博客SMBus 协议详解-CSDN博客I2C相关结构体讲解:i2c_adapter、i2c_algorithm、i2c_msg-CSDN博客内核提供的通用I2C设备驱动I2c-dev.c分析:注册篇内核提供的通用I2C设备驱动I2C-dev.…

浅析建造者模式

建造者模式 一、基础知识介绍 1. 问题引出 上图面存在的问题:产品和产品创建的过程是封装在一起的。耦合性太强 解决方法: 将二者解耦和 2.建造者模式介绍 将复杂对象的构造过程抽象出来,用户不用知晓里面的构建细节 3.四个角色 建造者模式的四个角…

Java项目-基于springboot框架的财务管理系统项目实战(附源码+文档)

作者:计算机学长阿伟 开发技术:SpringBoot、SSM、Vue、MySQL、ElementUI等,“文末源码”。 开发运行环境 开发语言:Java数据库:MySQL技术:SpringBoot、Vue、Mybaits Plus、ELementUI工具:IDEA/…

【element-tiptap】如何修改选中内容时的背景颜色?

前言:element-tiptap 用鼠标选中内容的时候,背景颜色跟系统设置的主题有关,比如的我的就是卡哇伊的pink,默认是淡蓝色 但是我们观察一下语雀,背景颜色是它规定好的颜色 这篇文章来探索一下,怎么自己规定选…

实操上手TinyEngine低代码引擎插件化开发

1.背景介绍 1.1 TinyEngine 低代码引擎简介 低代码开发是近些年非常热门的一种开发方式,用户可以通过可视化的方式,简单拖拽,不写代码或者编写少量代码,类似搭积木一样搭建业务应用。 TinyEngine是一个强大的低代码引擎&#x…

企业博客SEO优化:8个必备工具与资源指南

在当今数字化时代,企业博客已远远超越了传统意义上的信息展示平台。它不仅是企业展示品牌形象、传递品牌价值的重要窗口,更是吸引潜在客户、增强用户粘性、提升网站流量和搜索引擎排名的关键。通过精心策划和高质量的内容创作,企业博客能够建…

ChatGPT4o、o1 谁才是最佳大模型?

如何选择合适的 ChatGPT 模型?OpenAI 更新细节与 GPTs 的深入解析 随着人工智能的发展,ChatGPT 已成为众多用户的强大助手,广泛应用于写作、编程、学习和商业等多个领域。然而,面对 OpenAI 提供的众多模型(如 GPT-4、…

idea中,git提交时忽略某些本地修改.将文件从git暂存区移除

我们有时候在本地调试代码时,某些配置文件需要修改成本地环境中。当改完后,需要提交代码时,这些文件又不能推到git上。如下图: 当出现这种情况,我们每次都需要手动去将不需要提交的文件的对号去掉。文件多了后&#x…