Linux-使用 Find 命令找到那些需要清理的文件

简介: Linux-使用 Find 命令找到那些需要清理的文件

概述


有一个问题几乎困扰着所有的文件系统 – 包括 Unix 和其他的 – 那就是文件的不断积累。几乎没有人愿意花时间清理掉他们不再使用的文件和整理文件系统,结果,文件变得很混乱,很难找到有用的东西,要使它们运行良好、维护备份、易于管理,这将是一种持久的挑战。


其中一种解决问题的方法是建议使用者将所有的数据碎屑创建一个文件集合的总结报告或”概况”,来报告诸如所有的文件数量;最老的,最新的,最大的文件;并统计谁拥有这些文件等数据


profiling-your-file-systems


常用命令


当我们准备做 Unix 文件系统的总结报告时,几个有用的 Unix 命令能提供一些非常有用的统计信息。


计算目录中的文件数

要计算目录中的文件数,你可以使用这样一个 find 命令。

xgj@/>find . -type f | wc -l
117203

查找最老或者最新的文件


虽然查找最老的和最新的文件是比较复杂,但还是相当方便的。


在下面的命令,我们使用 find 命令在当前目录及递归目录再次查找文件,以文件时间排序并按年-月-日的格式显示,在列表顶部的显然是最老的。


最老的文件

xgj@/xgj>find -type f -printf '%T+ %p\n' | sort | head -n 1
2000-01-11+17:15:50.0000000000 ./tools/source/swig-1.3.31/Lib/guile/Makefile

显示多少个最老的文件,修改-n 的参数即可


最新的一个文件

xgj@/xgj> find -type f -printf '%T+ %p\n' | sort | tail -n 5
2017-01-11+18:02:19.0369273530 ./apche/log/ftp.log


printf 命令输出 %T(文件日期和时间)和 %P(带路径的文件名)参数。


忽略以.开头的文件


如果我们在查找家目录时,无疑会发现,history 文件(如 .bash_history)是最新的,这并没有什么用。你可以通过 “un-grepping” 来忽略这些文件,也可以忽略以.开头的文件

xgj@/xgj>find -type f -printf '%T+ %p\n' | grep -v "\./\." | sort | tail -n 1

寻找最大的文件使用 %s(大小)参数,包括文件名(%f )

xgj@/xgj>find -type f -printf '%s %f \n' | sort -n | uniq | tail -1                 
821749119 entel_export_bal.dat 


统计文件的所有者,使用%u(所有者)

xgj@/xgj>find -type f -printf '%u \n' | grep -v "\./\." | sort | uniq -c
  21237 xgj


最后访问(%a)参数


如果文件系统能记录上次的访问日期,也将是非常有用的,可以用来看该文件有没有被访问过,比方说,两年之内没访问过。这将使你能明确分辨这些文件的价值。这个最后访问(%a)参数这样使用:

find -type f -printf '%a+ %p\n' | sort | head -n 1

当然,如果大多数最近访问的文件也是在很久之前的,这看起来你需要处理更多文件了。

find -type f -printf '%a+ %p\n' | sort | tail -n 1


要想层次分明,可以为一个文件系统或大目录创建一个总结报告,显示这些文件的日期范围、最大的文件、文件所有者们、最老的文件和最新访问时间,可以帮助文件拥有者判断当前有哪些文件夹是重要的哪些该清理了。

相关文章
|
6月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
718 1
二、Linux文本处理与文件操作核心命令
|
6月前
|
安全 Ubuntu Unix
一、初识 Linux 与基本命令
玩转Linux命令行,就像探索一座新城市。首先要熟悉它的“地图”,也就是/根目录下/etc(放配置)、/home(住家)这些核心区域。然后掌握几个“生存口令”:用ls看周围,cd去别处,mkdir建新房,cp/mv搬东西,再用cat或tail看文件内容。最后,别忘了随时按Tab键,它能帮你自动补全命令和路径,是提高效率的第一神器。
1079 58
|
5月前
|
存储 安全 Linux
Linux卡在emergency mode怎么办?xfs_repair 命令轻松解决
Linux虚拟机遇紧急模式?别慌!多因磁盘挂载失败。本文教你通过日志定位问题,用`xfs_repair`等工具修复文件系统,三步快速恢复。掌握查日志、修磁盘、验重启,轻松应对紧急模式,保障系统稳定运行。
1010 2
|
6月前
|
缓存 监控 Linux
Linux内存问题排查命令详解
Linux服务器卡顿?可能是内存问题。掌握free、vmstat、sar三大命令,快速排查内存使用情况。free查看实时内存,vmstat诊断系统整体性能瓶颈,sar实现长期监控,三者结合,高效定位并解决内存问题。
537 0
Linux内存问题排查命令详解
|
Linux
百度搜索:蓝易云【Linux中如何对文件进行压缩和解压缩?】
这些是在Linux中进行文件压缩和解压缩的常见方法。根据您的需求和具体情况,可能会使用其他压缩工具和选项。您可以通过查阅相应命令的帮助文档来获取更多详细信息。
281 1
|
NoSQL Java Linux
Linux常用命令(文件目录操作、拷贝移动、打包压缩、文本编辑、查找)
Linux常用命令(文件目录操作、拷贝移动、打包压缩、文本编辑、查找)
|
算法 Java Linux
Linux下文件增删改查定位压缩操作与权限所属用户
Linux下文件增删改查定位压缩操作与权限所属用户
194 0
26Linux - 文件管理(文件压缩解压:bzip2)
26Linux - 文件管理(文件压缩解压:bzip2)
189 0
|
Java Shell Linux
Linux【脚本 01】简单Shell脚本实现定时备份文件、压缩、删除超时文件操作(showDoc文件备份脚本举例)
Linux【脚本 01】简单Shell脚本实现定时备份文件、压缩、删除超时文件操作(showDoc文件备份脚本举例)
942 0
|
Unix Linux Shell
Linux 常用命令汇总(一):查询帮助 & 文件压缩及解压缩 & 搜索文件
Linux 常用命令汇总(一):查询帮助 & 文件压缩及解压缩 & 搜索文件