前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux-使用 Find 命令找到那些需要清理的文件

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

作者头像
小小工匠
发布2021-08-16 15:00:50
7680
发布2021-08-16 15:00:50
举报
文章被收录于专栏:小工匠聊架构小工匠聊架构

概述

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

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

profiling-your-file-systems


常用命令

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

计算目录中的文件数

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

代码语言:javascript
复制
xgj@/>find . -type f | wc -l
117203

查找最老或者最新的文件

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

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

最老的文件

代码语言:javascript
复制
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 的参数即可


最新的一个文件

代码语言:javascript
复制
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” 来忽略这些文件,也可以忽略以.开头的文件

代码语言:javascript
复制
xgj@/xgj>find -type f -printf '%T+ %p\n' | grep -v "\./\." | sort | tail -n 1

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

代码语言:javascript
复制
xgj@/xgj>find -type f -printf '%s %f \n' | sort -n | uniq | tail -1                 
821749119 entel_export_bal.dat 

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

代码语言:javascript
复制
xgj@/xgj>find -type f -printf '%u \n' | grep -v "\./\." | sort | uniq -c
  21237 xgj 

最后访问(%a)参数

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

代码语言:javascript
复制
find -type f -printf '%a+ %p\n' | sort | head -n 1

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

代码语言:javascript
复制
find -type f -printf '%a+ %p\n' | sort | tail -n 1

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-01-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • 常用命令
    • 计算目录中的文件数
      • 查找最老或者最新的文件
        • 最老的文件
        • 最新的一个文件
        • 忽略以.开头的文件
      • 寻找最大的文件使用 %s(大小)参数,包括文件名(%f )
        • 统计文件的所有者,使用%u(所有者)
          • 最后访问(%a)参数
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档