【Linux】深入理解 Linux 的 find 指令


我一直都在流浪
可我不曾见过海洋
我以为的遗忘
原来躺在你手上
我努力微笑坚强
寂寞筑成一道围墙
也敌不过夜里
最温柔的月光
                     🎵 林宥嘉《残酷月光》


find 是 Linux 系统中功能非常强大的文件搜索工具。它可以递归地在指定目录中查找文件和目录,并且支持多种查找条件和操作。本文将详细介绍 find 指令的使用方法和常见场景,帮助你在实际工作中更加高效地使用它。

基本语法


find [搜索路径] [查找条件] [操作]
  • 搜索路径:指定查找的目录,可以是一个或多个目录。
  • 查找条件:定义查找的规则,如按文件名、类型、时间等。
  • 操作:对找到的文件执行的操作,如删除、移动等。

常见查找条件

  1. 按文件名查找
find /path -name "filename"

例子:在当前目录及子目录中查找名为 example.txt 的文件

find . -name "example.txt"
  1. 按文件类型查找

查找目录:

find /path -type d
  1. 查找文件:
find /path -type f
  1. 按文件大小查找
find /path -size +100M

例子:查找大于 100MB 的文件

find / -size +100M
  1. 按时间查找

查找最近 7 天内修改过的文件:

find /path -mtime -7

查找最近 7 天内访问过的文件:

find /path -atime -7
  1. 按权限查找
find /path -perm 755
  1. 按用户或组查找

按用户:

find /path -user username

按组:

find /path -group groupname

常见操作

  1. 删除查找到的文件
find /path -name "filename" -delete

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

find . -name "*.tmp" -delete
  1. 对查找到的文件执行命令
find /path -name "filename" -exec command {} \;

例子:查找并删除所有 .log 文件

find . -name "*.log" -exec rm -f {} \;
  1. 查找并移动文件
find /path -name "filename" -exec mv {} /newpath/ \;

例子:将当前目录及子目录中的所有 .txt 文件移动到 /backup 目录

find . -name "*.txt" -exec mv {} /backup/ \;
  1. 查找并更改权限
find /path -name "filename" -exec chmod 644 {} \;

例子:查找并更改所有 .sh 文件的权限为 755

find . -name "*.sh" -exec chmod 755 {} \;
  1. 结合其他命令
    find 指令可以与其他命令结合使用,进行更复杂的操作。例如,与 grep 结合使用:
find /path -type f -exec grep "search_string" {} \;

这个命令会在指定路径下查找包含 “search_string” 的所有文件。

示例用法
查找并统计特定类型文件的数量

find /path -type f -name "*.txt" | wc -l
  1. 查找大于 1GB 的文件并输出到文件
find / -type f -size +1G > large_files.txt
  1. 查找最近修改过的文件并显示详细信息
find /path -mtime -1 -exec ls -lh {} \;
  1. 查找并压缩文件
find /path -name "*.log" -exec gzip {} \;

总结

find 指令是 Linux 中非常灵活和强大的文件查找工具。通过组合不同的查找条件和操作,你可以轻松地在系统中找到并管理文件。掌握 find 的使用方法,不仅能提高你的工作效率,还能让你在处理复杂任务时更加得心应手。希望本文能帮助你更好地理解和使用 find 指令。

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

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

相关文章

【Linux001】centos常用命令总结总结(已更新)

1.熟悉、梳理、总结下centos知识体系。 2.Linux相关知识,在日常开发中必不可少,如一些必知必会的常用命令,如环境搭建、应用部署等。同时,也要谨慎使用一些命令,如rm -rf,防止一些生产事故的发生。 3.欢迎点…

Mysql8.0离线安装 centos

Mysql8.0离线安装 centos 上传mysql安装包并解压 tar xvf mysql-8.0.37-1.el7.x86_64.rpm-bundle.tar运行安装对应的rpm包,按照一下顺序 rpm -ivh mysql-community-common-8.0.37-1.el7.x86_64.rpm rpm -ivh mysql-community-client-plugins-8.0.37-1.el7.x86_64.rp…

预约直播丨ETLCloud训练营:ETL中多流数据合并与运算专题

在大数据处理领域,一个至关重要的步骤是对多源数据流进行汇聚与融合,进而开展深度处理与剖析。此操作对于构建高效数据仓库、实现数据动态变化的实时洞察,以及驾驭复杂事件流的处理机制尤为关键。过程涉及从多样化的数据源中抽取信息&#xf…

顺序表详解(Java)

目录 顺序表 初始化 方法实现 1> display 遍历(简单) 2> isFull 是否为满 3> size 顺序表的大小 4> add 增加在最后位置(考虑是否满了) (难) 5> add 增加到指定位置(是否为满) 6> isEmpty 是否为空 7> contain 是否包含某个元素 (简单) 8> …

Spring Boot 3.x使用knife4j

Spring Boot 3.x使用knife4j 1.添加knife4j依赖 <dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId><version>4.4.0</version> </dependency>2.在…

【Unity Shader入门精要 第9章】更复杂的光照(四)

1. 透明度测试物体的阴影 对于物体有片元丢弃的情况&#xff0c;比如透明度测试或者后边会讲到的消融效果&#xff0c;使用默认的 ShadowCaster Pass 会产生问题&#xff0c;这是因为该Pass在生成阴影映射纹理时&#xff0c;没有考虑被丢弃的片元&#xff0c;而是使用完整的模…

建投数据收获客户感谢信

建投数据自2021年提出“以数据为核心的智能科技服务商”&#xff0c;并一直在为“成为国内领先的数字化转型合作伙伴”而努力&#xff0c;在赋能行业客户创造更大价值的同时&#xff0c;也陆续收到来自客户的肯定。 建投数据始终践行“成就客户&#xff0c;创新为要&#xff0…

【网络协议】【OSI】一次HTTP请求OSI工作过程详细解析

目录 1. 一次HTTP请求OSI工作过程 1.1 应用层&#xff08;第7层&#xff09; 1.2 表示层&#xff08;第6层&#xff09; 1.3 会话层&#xff08;第5层&#xff09; 1.4 传输层&#xff08;第4层&#xff09; 1.5 网络层&#xff08;第3层&#xff09; 1.6 数据链路层&am…

移除链表元素-力扣

一道基础的链表相关题目&#xff0c;在删除时对头节点进行单独处理。 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr) {}* …

【vue部署】Apache部署vue项目

Apache部署vue项目 Apache 下载安装(windows)1. 下载2. 安装3. 启动服务 vue 部署配置1. 基础配置2. 解决页面刷新问题 Apache 下载安装(windows) 1. 下载 Apache 2.4.59 下载地址&#xff1a;httpd-2.4.59-240404-win64-VS17.zip Visual C Redistributable for Visual Studi…

Go语言通过goroutine实现多协程文件上传

文章推荐 1 作为程序员&#xff0c;开发用过最好用的AI工具有哪些&#xff1f; 2 Github Copilot正版的激活成功&#xff0c;终于可以chat了 3 idea,pycharm等的ai assistant已成功激活 4 新手如何拿捏 Github Copilot AI助手&#xff0c;帮助你提高写代码效率 5 Jetbrains的a…

AWS EC2 连接 AWS RDS(Mysql)

1 创建RDS数据库 点击创建数据库 引擎选项 模板 设置 连接 2 EC2连接Mysql $ sudo yum list mariadb* Installed Packages mariadb-connector-c.x86_64 3.1.13-1.amzn2023.0.3 amazonl…

swig4.2.1压缩包中里面没有找到swig.exe

官网&#xff1a;Simplified Wrapper and Interface Generator C转 C# 采用Swig.exe 打开Example示例的解决方案&#xff1a;sln 生成 即可查看如何调用和使用.i文件 但是&#xff1a;迅雷不管下载哪个版本都是没有exe 官网说了自带。很迷很迷~ 下载其他版本的时候发现&…

TikTok矩阵管理系统:品牌增长的新引擎

随着社交媒体的快速发展&#xff0c;TikTok已成为全球最受欢迎的短视频平台之一。品牌和企业纷纷涌入这个平台&#xff0c;寻求新的增长机会。然而&#xff0c;随着内容的激增和用户群体的多样化&#xff0c;管理TikTok账号变得越来越复杂。这时&#xff0c;TikTok矩阵管理系统…

使用第三方的PyCharm开发工具

目录 PyCharm下载 PyCharm安装 运行PyCharm 创建工程目录 编写“hello world”程序 在同一个工程下创建多个程序文件 运行程序的多种方法 保存程序 关闭程序或工程 删除程序 打开最近的工程 调试断点 熟悉PyCharm开发环境 设置Python解析器 输出彩色控制台文字及…

50道题目!Python、SQL数据库、AB测试、业务分析、机器学习都在这里了!

介绍 每日一题系列已经更新了50道题目啦&#xff01; 题目难度为初级到中级&#xff0c;涵盖了Python、SQL数据库、AB测试、业务分析、机器学习五大主题&#xff0c;适合初学者和有一定基础的朋友。 原文链接: 50道题目&#xff01;Python、SQL数据库、AB测试、业务分析、机器…

pycharm 关闭项目卡死

PyCharm2023.3.4 关闭一直卡在 closing projects 解决办法&#xff1a; 打开PyCharm&#xff0c; 选择 Help -> Find Action -> 输入 Registry -> 禁用ide.await.scope.completion

10G SFP双口万兆以太网控制器,高速光口网络接口卡

2-Port 10G SFP NIC 是一款高速网 络接口卡&#xff0c;采用了 PCI Express 3.0 x8 接口&#xff0c;支持双 端口万兆以太网&#xff0c;具有高性能、高可靠性、低功耗等 优点&#xff0c;是数据中心、云计算、虚拟化等领域的理想选 择。 支持多种网络协议&#xff0c;如 …

【加密与解密(第四版)】第十六章笔记

第十六章 脱壳技术 16.1 基础知识 壳的加载过程&#xff1a;保存入口参数、获取壳本身需要使用的API地址、解密原程序各个区块的数据、IAT的初始化、重定位项的处理、HOOK API、跳转到程序原入口点 手动脱壳步骤&#xff1a;查找真正的入口点、抓取内存映像文件、重建PE文件&…

深度学习之基于Pytorch框架新冠肺炎CT图像分类

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景与意义 随着新冠肺炎&#xff08;COVID-19&#xff09;的全球爆发&#xff0c;快速、准确地诊断疾病成…