发布一个检查磁盘空间占用情况的小工具

yui 2010-12-06 12:55:27
这是用C语言写成的一个适用于Linux的小工具,能够比较方便地算出单个或者全部挂载点(mount point)下的磁盘使用情况,包括显示该磁盘分区的设备类型、每一块的大小、总空间大小、预留给root用户的空间大小、已使用的空间大小、可用的空间大小、已使用的空间百分比,以及占用空间最多的10个目录。执行效果图如下:



其实,组合使用Linux的Shell命令,df、du、find、sort、head等等,也能达致同样的功能。但是,我觉得C写的程序在执行效率和格式化输出方面有优胜的地方,而且,相当多代码都能够重用GNU的coreutils包的内容,只需要少量的修改和增补就能够完成此程序的开发,并移植到其它Unix平台。

我把该程序命名为eathd,是eat hard disk的简写,意思就是,检查一下哪个分区的空间被吃掉了最多,哪个目录下的文件吃掉的硬盘空间最多。

目前最新版本为0.1.0,仅仅适用于Linux。我的同事已经将它成功移植到HP-UX和Solaris,待进一步完善后,将适时公开后续优化版本。同时也希望各位同行、各路高人能够提供一下宝贵意见。这个小程序可以改进的地方还是很多的,在此不胜感激。

以下是eathd-0.1.0.tar.gz的下载地址:

http://download.csdn.net/source/2885226


下载解包之后执行make编译即可。


以上是eathd-0.1.0的发布贴,如打算进一步深究其设计过程的可以参考《谁吃了你的硬盘空间?》系列的前两篇博文:

诡异的df算法

获取文件系统与文件信息
...全文
629 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
mich_mia 2010-12-09
  • 打赏
  • 举报
回复
赶紧顶一个
leafsoar 2010-12-06
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 yui 的回复:]

看到这么多红星、勋章在顶,欣慰啊,呵呵,谢谢
[/Quote]

看到这么星星,傻眼了,晕了吧...



GNU是好咚咚
yui 2010-12-06
  • 打赏
  • 举报
回复
说实话,没有coreutils、没有GNU组织、没有开源软件,给我10年也写不出这个东西,我所做的只是在巨人的肩膀上组合一下资源,技术含量实在不算高,何况目前的版本在跨平台、性能优化方面还有待提高,加精有点勉强啊
cceczjxy 2010-12-06
  • 打赏
  • 举报
回复
分享的精神值得顶
justkk 2010-12-06
  • 打赏
  • 举报
回复
强悍,顶一下
steptodream 2010-12-06
  • 打赏
  • 举报
回复
楼主很厉害啊 分享精神必须顶。
freetstar 2010-12-06
  • 打赏
  • 举报
回复
好帖!版主加精啊
freetstar 2010-12-06
  • 打赏
  • 举报
回复
大阪这几天不在,等来了给加精
yui 2010-12-06
  • 打赏
  • 举报
回复
看到这么多红星、勋章在顶,欣慰啊,呵呵,谢谢
dubiousway 2010-12-06
  • 打赏
  • 举报
回复
瞅瞅

-
-

23,127

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧