基于 ncdu 实现一个命令行工具,用来定位文件系统中占用了较大空间的文件、目录。 需求场景描述 在运维工作中,经常会遇到磁盘空间被写满的情况,大部分情况是根分区。这种情况需要尽快处理以免影响系统上其它服务。这时候就需要去定位是哪些文件、目录占用了较大空间,以此判断是哪个服务异常,进而解决问题。在文件系统中找出大文件是一件非常耗时的事情,当 inodes 数很大时尤甚。
好在 ncdu 高效地完成了扫描文件系统各文件、目录占用的工作,但是要达到我们的目标——直接将大文件展示出来,还需要做一些额外工作。
要求说明 实现一个在 Linux 环境下运行的命令行工具,命令行参数符合规范。注意,是基于 ncdu 实现一个新的命令行工具。 以人为本,便捷易用,能够最大程度减轻 SA 的在这件事情上的时间消耗。
除命令帮助信息 -h, --help
外,对使用场景及对应的相关命令做简单文字性描述。
会从命令接口设计、代码实现、开发风格、使用场景设计、执行性能等角度去评价这个命令行工具。
推荐优先使用 Python 实现,但原则上实现语言不作为评价依据。
完成的项目需要放到 GitHub 上面,建议保留完整的 commit 历史,需要写清楚如何运行。
最终提交的是 GitHub Repo 页链接。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.