系统用久了,占用磁盘会越来越多. 以至于到后面你都不知道究竟是什么东西占用了这么多磁盘空间.
虽然现在硬盘越来越便宜, 我们的硬盘可能早就是512G甚至是1TB起步了. 但在很多场景之下, 我们仍然会有查找磁盘占用的原因及清理磁盘. 特别是做开发, 各种开发缓存占用的磁盘越来越大, 及时清理有时候非常有必要.
这个时候,我们就需要一个好的磁盘空间管理工具.而今天我要介绍的就是一个高效的开源的磁盘管理工具 — NCDU
ncdu是什么
ncdu全称是NCurses Disk Usage
, 是一款C编写的, 以命令行为界面,支持 POSIX-like系统的磁盘分析与管理工具.
优势在于:
不足在于:
-
不支持Windows
这意味着你如果是使用Windows, 你就没法使用它. 但你可以在Linux或MacOS等POSIX类系统上使用它. 特别是对无GUI的Linux服务器, 使用它会非常方便.
效果
先了解下ncdu的使用效果

如上图所示, 使用ncdu扫描完成你的磁盘目录后, 它会在你的terminal界面上, 以列表的形式,按照大小顺序直观的展示不同目录占用的空间.
你可以在这个界面上,轻松的:
-
进入或退出某个目录, 查看任意目录的空间占用情况 -
按 D
键,直接删除某个文件或目录,进行清理
相比其它一些扫描与分析工具, ncdu简单,直观,而且极为高效. 特别是你的Linux服务器, 用它来了解磁盘使用情况, 再好不过了.
安装与使用
安装
在你的Linux系统上, 使用系统自带的包管理器来安装它, 是最方便快捷的
Debian/Ubuntu类
sudo apt install ncdu
RHEL/CentOS类
sudo apt install ncdu
Arch Linux类
sudo pacman -S ncdu
OpenSUSE/SUSE类
sudo zypper in ncdu
如果你是MacOS系统, 基于brew
来安装是最方便的
brew install ncdu
使用
在命令行下,直接ncdu
就能使用它. 不过这样默认是扫描当前目录
扫描整个系统
sudo ncdu /
扫描指定目录
# 扫描/opt目录
sudo ncdu /opt
排除指定目录
# 扫描整个系统,但排除 /opt,/tmp两个子目录
sudo ncdu / --exclude=/opt --exclude=/tmp
扫描会非常快, 完成后, 你可以用键盘来方便的查阅结果, 进入及退出任意目录.
-
在某个目录或文件下, 按 D
键会触发删除 (删除是完全删除,不是删除到回收站) -
选择某个目录, 按 Enter
键进入目录,继续查阅
最后
这个ncdu
工具是我用过的最方便的工具, 它不仅快, 最重要的是轻松让我知道哪些目录, 哪些程序使用了空间.
当然,它有一定的危险性, 比如几乎可以删除任何目录, 但有些系统目录是不能删除的. 这一点要特别注意. 但是做为程序员, 这个点想必是你能轻松应对的.
最重要的是, 在无GUI的Linux上安装这个工具, 最方便不过了. 如果你想给你的Linux找一款更好的磁盘分析与管理工具, NCDU是一个非常不错的选择.
原文始发于微信公众号(微言码道):善用开源,无GUI的磁盘管理小工具
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/248623.html