📅  最后修改于: 2023-12-03 15:17:23.234000             🧑  作者: Mango
在 Linux 文件系统中,有时候会有一些文件因为各种原因变得很大或者很复杂,在查找的时候会非常耗时,这时我们就需要使用一些命令来快速定位这些文件并且进行处理。本篇文章将介绍如何使用 Shell-Bash 命令快速查找 Linux 文件系统中超过 15 分钟的文件。
使用 find 命令可以在 Linux 文件系统中快速查找文件,下面是一个查找超过 15 分钟的文件的示例:
find / -type f -cmin +15 -print
解析:
/
:从根目录开始查找-type f
:只查找文件类型-cmin +15
:查找修改时间超过 15 分钟的文件-print
:输出查找到的文件路径使用 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 分钟的文件了。当然,这只是其中的一种方法,你也可以根据自己的需求选择其他的工具或者方法来进行查找。