概述

有一个问题几乎困扰着所有的文件系统 – 包括 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 -c21237 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

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

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

  1. linux下rename命令用法详解(重命名文件)

    本文介绍了linux系统中rename命令的用法,用来修改文件名.重命名文件,批量重命名文件rename是最好的选择,需要的朋友参考下. 在linux系统中重命名文件,经常用到mv命令,批量重命名文件 ...

  2. linux命令返回结果保存到文件,Linux终端运行命令及结果同时保存入文件方法总结...

    一,把命令运行的结果保存到文件当中 用>或者>>重定向就可以把输出内容保存在某个文件里面, 例子: [lhd@hongdi ~]$ ls > ls.txt [lhd@hongd ...

  3. linux 使用scp命令从一台机器复制文件到另一台linux机器上去

    原文链接:scp 1.功能说明 scp就是security copy,用于将文件或者目录从一个Linux系统拷贝到另一个Linux系统下.scp传输数据用的是SSH协议,保证了数据传输的安全,其格式如 ...

  4. linux shell find命令 查找指定时间范围内的文件

    例如查找`2013-08-08`到`2013-09-01`号之间的文件,使用如下命令即可: find /log/ -name 'production.log-2013*' -newermt '2013 ...

  5. linux使用tar命令打包压缩时排除某个文件夹或文件

    今天在使用tar命令进行文件夹打包压缩的时候,需要打包压缩masalaPage目录,但是该目录中的2017,2016两个目录中的文件不进行打包压缩 所以通常使用的tar -zcvf masalaPag ...

  6. 如何从虚拟机上的linux使用sz命令传输windows大于4G的文件

    方法是先对该文件进行拆分,拆分成多个小于4G的文件,然后分别下载,下载到本地后再进行合并或直接解压,具体操作如下: 1.分拆为多个文件的命令: cat train.tar.gz | split -b ...

  7. linux glance删除命令,OpenStack Glance v2 API任意文件删除漏洞(CVE-2012-5482)

    发布日期:2012-11-08 更新日期:2012-11-13 受影响系统: openstack Glance Grizzly openstack Glance Essex (2012.1) open ...

  8. Linux使用Aria2命令下载BT种子/磁力/直链文件

    文章目录 安装 BT下载使用 aria2c -S 009.torrent 列出种子内容 aria2c xxx.torrnet 限速下载 多线程下载功能 安装 yum install aria2 BT下 ...

  9. Linux介绍和命令

    文章目录 1.1 操作系统 1.1.1 操作系统(Operation System,OS) 1.1.2 操作系统的作用 1.1.3 不同领域的主流操作系统 1.1.4 虚拟机 1.2 操作系统发展史 ...

最新文章

  1. 026_如何在MAC下输入主要国家货币符号?
  2. 面试:你知道 Java 中的回调机制吗?
  3. php读取远程二进制文件,php 读取二进制文件
  4. 在Sqlserver下巧用行列转换日期的数据统计
  5. 1110 Complete Binary Tree (25 分)【难度: 一般 / 知识点: 判断完全二叉树】
  6. 【性能优化】 之 HINTS 相关作业
  7. Java实现单例模式之饿汉式、懒汉式、枚举式,带测试。
  8. 使用nagios监控oracle
  9. 简述linux常见的安全措施,六个常用的Linux安全基本措施
  10. windowXP 任务计划无法启动 错误代码:0X80041315
  11. PSD分层立体数据模板立体数据统计素材
  12. 不得了!这个 AI 让企业家、技术人员、投资人同台“互怼”
  13. 教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神
  14. LQR控制算法及代码实践
  15. 关于腾讯应用宝上架的应用版本回退的问题
  16. 那些年,年我们一起看过的大风车——HTML5风车效果
  17. JAVA 操作 excel 并生成 xml
  18. 《程序员的自我修养》读书总结
  19. 机器学习初体验(傻瓜拖拽式)
  20. CUID卡抠抠复制浅谈

热门文章

  1. word2vect 输出是什么
  2. 域用户组成员 导出_隐私安全,黑客利用Mimikatz提取Windows用户凭证
  3. 文巾解题 70. 爬楼梯
  4. MATLAB从入门到精通-欧拉法与梯形法求解微分方程(含MATLAB源码)
  5. 数据中台产品经理面试指南(二)
  6. clodeblocks debug断点调试_Intellij IDEA高阶DEBUG大杀器
  7. 欢迎进入 K同学啊 的博客目录(全站式导航)
  8. 机器学习第4天:线性回归及梯度下降
  9. Hadoop streaming: Exception in thread main java.io.IOException: No space left on device
  10. 爱奇艺个性化推荐排序实践【转】