008 Linux 文件查找 find

在 Linux 系统,find 毫无疑问是最强的文件查找工具。find 一般会与其他命令结合,将查找到的结果作为参数传入到后置命令中,进行删除、统计、复制迁移等操作。

  • find / -name ‘hello.txt’ #从根目录下开始查找文件 hello.txt;
  • find . -iname ‘hello.txt’ #从当前目录下开始查找文件 hello.txt,-iname 会忽略大小写;
  • find . -name ‘*hello.txt’ #当前目录下,查找目标名称后缀为 “hello.txt” 的文件;
  • find / -type f -size +500M #从根目录开始查找,500M以上文件;-type f: f为普通文件类型,f 改为 d 则是目录文件,l 则是符号链接文件,-type 还有其他参数;-size +500M :500MB以上 。一般磁盘空间不够,删除垃圾文件时会使用到此命令;
  • find . -type f -size +1k #查找当前文件夹下超过1k的文件,注意k是小写;
  • find /etc ! -type f #查找 /etc 目录下不是普通文件的文件,”!”:感叹号,取反;

  • atime:访问时间(access time),指的是文件最后被读取的时间,可以使用touch命令更改为当前时间;

  • ctime:变更时间(change time),指的是文件本身最后被变更的时间,变更动作可以使chmod、chgrp、mv等等;
  • mtime:修改时间(modify time),指的是文件内容最后被修改的时间,修改动作可以使echo重定向、vi等等;

  • find . -type f -mtime -30 #查找当前目录下30天之内修改过的文件;

  • find /var/log/ -mtime +30 -name ‘*.log’ # 查找指定目录/var/log/ 下30天以前被修改的log类型文件;
  • find /etc -maxdepth 1 ! -type l -mtime -30 #查找/etc 第一层目录下不是符号链接文件的文件,并在30天内被修改过,-maxdepth :指定目录层级,-maxdepth 1代表第1层,-maxdepth 2代表延伸到第二层;

用wc -l来统计下log数量,再进行删除。
find . -name ‘*.log’ -mtime +30 | wc -l #从当前目录下开始搜索30天之前的log文件,并统计数量, “|”: 管道符,将前面查到的数据作为输入源给后面的命令;

find . -name ‘*.log’ -mtime +30 -exec rm {} ; #查找当前目录下30天以前的log文件,使用-exec加rm将其删除;exec命令以分号结束’;’,该分号前面要放反斜杠转义 。

find . -name ‘*.log’ -mtime +30 -ok rm {} ; #查找当前目录下30天以前的log文件,-ok : 询问删除,y删除,n不删除,回车默认不删除;命令以分号结束’;’, 该分号前面要放反斜杠转义 。

find . -name ‘*.log’ -mtime +30 -print0 | xargs -0 rm -f # xargs : 命令传递参数过滤器,与管道符 “|” 一同使用,将前面的命令传递给后面的命令使用;

  • find . -name ‘*.log’ -mtime +10 -print0 | xargs -0 rm -f #保险的方式删除,推荐这样使用
  • find / -name ‘*.log’ -mtime +30 | xargs ls -l #对于30天前的log文件进行详情查看,利用xargs + ls -l 命令来进行文件的详细属性查看;
  • find / -name ‘*.log’ -mtime +30 | xargs -i mv {} /logback #将30天前的所有log文件移动到 /logback 文件夹下,xargs -i + {},将前面查找到的文件都作为参数给mv命令执行;

  • -exec,是将查找到的结果文件名逐个传递给后面的命令执行,文件多会导致效率低;

  • xargs,则是一次性传递,效率较高,并可使用-n参数控制传递文件个数。

  • -exec,文件名有空格等特殊字符也照常处理;

  • xargs,处理特殊的文件名(例如文件名有空格)需要采用特殊的处理方式(find . -name “*.log” -print0| xargs -0 ls -l)。

查找超过500M大小文件,并显示查找出来文件的具体大小,且按照大小排序。

  • find . -type f -size +500M -print0 | xargs -0 du -h | sort -nr
  • find . -name ‘*.log’ -size +500M -print0 | xargs -0 du -h | sort -nr

find 命令是查找文件神器,可按文件名、类型查找过滤;按时间范围查找过滤;同时组合其他命令使用,可大大提高操作效率。

「不甩锅的码农」原创,转载请注明来源,未经授权禁止商业用途!同名 GZH 请关注!

Original: https://www.cnblogs.com/bilahepan/p/15853606.html
Author: 不甩锅的码农
Title: 008 Linux 文件查找 find

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/683504/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 如何在安装程序中判断操作系统是否是64位 inno

    [Setup]; 开启64位模式ArchitecturesInstallIn64BitMode=x64 [Run] ;根据是否是64位进行不同的操作Filename: &#8220…

    技术杂谈 2023年5月31日
    081
  • Vuex项目Example中的源码学习(2)

    counter-hot 项目描述 和第一个项目在功能上的区别,就是会记录最近五次的操作。根据项目的名称,我们知道是关于热重载的。 关于项目的改进 我们对比第一个项目,改进的地方是把…

    技术杂谈 2023年7月11日
    0102
  • 通过Frame做的加法计算器更好的理解内部类的使用

    随笔记录一下,周六补了补awt和swing的知识,兴趣使然,毕竟这些技术现在很少有用的了。跟着视频做的,目的不是为了画出多好看的窗口,而是为了更好的理解面向对象编程。为自己更好的编…

    技术杂谈 2023年7月25日
    063
  • 从决策辅助者到决策制定者 — CHRO新角色

    CEO都知道:公司的成功仰赖人力资源。创造价值的不是企业,而是人才。但若对绝大多数公司抽丝剥茧仔细分析,你会发现,CEO通常与首席人力资源官(CHRO)和人力资源部门(HR)关系疏…

    技术杂谈 2023年5月31日
    071
  • 8086汇编 栈操作

    8086汇编 栈操作 栈结构 一、说明 栈是一种只能在一端进行插入或删除操作的数据结构。 栈有两个基本的操作:入栈和出栈。 入栈:将一个新的元素放到栈顶; 出栈:从栈顶取出一个元素…

    技术杂谈 2023年6月1日
    076
  • SkiaSharp常用操作

    SkiaSharp常用操作 屏幕的坐标系原点在屏幕的左上角,水平往右、竖直往下为正。屏幕的坐标横坐标用”x”表示,纵坐标用”y”表示…

    技术杂谈 2023年5月31日
    0114
  • Javaweb学习-JSP

    ; ; 从JSP开始学习创建web项目 posted @2022-03-24 21:21 HelloHui 阅读(9 ) 评论() 编辑 Original: https://www…

    技术杂谈 2023年6月21日
    0131
  • springboot启动报错BeanCreationException

    springboot程序启动报错,数据库连接错误。检查了一下网络,发现是wiki连错了,改一下即可,嘿嘿。错误信息:Failed to initialize pool: Commu…

    技术杂谈 2023年7月11日
    063
  • 碰到shiro反序列化漏洞,大家都是怎么解决的

    项目是借用一个开源项目,然后被发现有shiro反序列化漏洞,如下图: 有了以上漏洞,就可以在服务器执行任意指令。如下图: 解决过程: 1、升级shiro到最新版本1.9.1,却发现…

    技术杂谈 2023年7月11日
    094
  • Inno setup 安装*.inf文件_示例

    nno setup 调用*.Inf文件的条目区段名称_示例 首先自己编写一个INF文件来供 Inno setup 进行测试: ;复制以下代码到记事本然后另存为123.inf 。然后…

    技术杂谈 2023年5月31日
    083
  • K8s集群环境搭建

    K8s集群环境搭建 1、环境规划 1.1 集群类型 Kubernetes集群大体上分为两类:一主多从和多主多从 一主多从:一台master节点和多台node节点,搭建简单,但是有单…

    技术杂谈 2023年6月21日
    085
  • lamba: lamba变量申明

    1,下面编译运行没问题 2,如果想在lamba中引用外围变量x,是无法做到的,如下会报错,类型不匹配了 error C2440: “初始化”: 无法从&#8…

    技术杂谈 2023年5月31日
    068
  • 神经网络那些事儿(一)

    这次主要说说神经网络的一些主要思想,包括介绍两种人工神经元(perceptron neuron和sigmoid neuron)以及神经网络的标准学习算法,随机梯度下降法。神经网络可…

    技术杂谈 2023年5月31日
    079
  • 那些舍不得删除的 MP3–批量修改mp3的ID3tag

    整理电脑时发现很多mp3。那是大约2001年至2009年之间。那个时候大家听歌,还是习惯从网上下载mp3。虽然现在听歌比从前方便多了,简单到只需在APP中输入歌名,但用播放器听mp…

    技术杂谈 2023年6月21日
    070
  • C# 坐标系

    一、概述 从数学角度讲,Point是一个二维矢量,包含两个公共整型属性,属性用大写X和Y(c#中公共属性一般约定以大写字母开头)。当坐标不是整数值是float时,用PointF代替…

    技术杂谈 2023年6月1日
    087
  • 3分钟快速了解猪齿鱼权限

    猪齿鱼 Choerodon 数智化开发管理平台 ,提供协作、测试、DevOps及容器等工具,帮助企业拉通软件开发和项目管理的需求、设计、开发、部署、测试和运营全流程,全面满足企业研…

    技术杂谈 2023年7月24日
    097
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球