📌  相关文章
📜  linux 查找超过 15 分钟的文件 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:17:23.234000             🧑  作者: Mango

Linux 查找超过 15 分钟的文件 - Shell-Bash

简介

在 Linux 文件系统中,有时候会有一些文件因为各种原因变得很大或者很复杂,在查找的时候会非常耗时,这时我们就需要使用一些命令来快速定位这些文件并且进行处理。本篇文章将介绍如何使用 Shell-Bash 命令快速查找 Linux 文件系统中超过 15 分钟的文件。

使用 find 命令查找

使用 find 命令可以在 Linux 文件系统中快速查找文件,下面是一个查找超过 15 分钟的文件的示例:

find / -type f -cmin +15 -print

解析:

  • /:从根目录开始查找
  • -type f:只查找文件类型
  • -cmin +15:查找修改时间超过 15 分钟的文件
  • -print:输出查找到的文件路径
使用 locate 命令查找

使用 locate 命令也可以在 Linux 文件系统中快速查找文件,这需要先安装 mlocate 工具包,如果你已经安装了该工具包,可以使用下面的命令查找超过 15 分钟的文件:

locate --existing --regex '.*' | while read name; do if [ -f "$name" ]; then if [ "$(expr $(date +%s) - $(stat -c %Y -- "$name"))" -gt "900" ]; then echo "$name"; fi; fi; done

解析:

  • locate --existing --regex '.*':查找所有的文件
  • while read name; do ... done:对查找到的每一个文件执行一次循环操作
  • if [ -f "$name" ]; then ... fi;:判断查找到的文件是不是一个文件
  • $(expr $(date +%s) - $(stat -c %Y -- "$name")):计算当前时间与文件修改时间的时间差(秒)
  • if [ "$(expr $(date +%s) - $(stat -c %Y -- "$name"))" -gt "900" ]; then ... fi;:判断时间差是否大于 900 秒(15 分钟)
  • echo "$name":输出查找到的文件路径
总结

通过本篇文章的介绍,你应该可以掌握使用 Shell-Bash 命令查找超过 15 分钟的文件了。当然,这只是其中的一种方法,你也可以根据自己的需求选择其他的工具或者方法来进行查找。