linux下使用 ncdu 轻松查看和管理磁盘空间

ops/2025/2/26 0:18:58/

在日常的系统维护与管理中,了解和管理磁盘空间使用情况是一项重要任务。du(disk usage)命令是 Linux 系统中用于查看磁盘使用情况的常用工具,它能递归地统计指定目录下的文件和子目录的磁盘占用空间。然而,du 的输出通常是文本格式,需要用户手动分析,这在处理大量数据时可能会显得比较麻烦。而 ncdu(NCurses Disk Usage)则是在 du 的基础上,提供了更直观友好的交互界面,让用户可以更加方便快捷地浏览和管理磁盘空间。

1. 安装 ncdu

首先,你需要在系统上安装 ncdu。根据你使用的 Linux 发行版,安装命令会有所不同:

  • Debian/Ubuntu:

    sudo apt-get install ncdu
    
  • Fedora:

    sudo dnf install ncdu
    
  • Arch Linux:

    sudo pacman -S ncdu
    

在这里插入图片描述

2. ncdu 与 du 对比

下面是一个简单的表格,展示了 ncdudu 在使用上的区别:

特性du 命令ncdu 工具
输出格式文本格式树形目录结构,交互式界面
用户交互支持方向键导航、排序、搜索等
删除操作支持直接标记并删除文件/目录
可视化可视化磁盘使用情况
生成报告需借助其他工具可以直接保存分析结果到文件

3. 基本操作

如果不指定路径,默认会从当前目录开始分析。以下是 ncdu 的基本操作指南:

  • 导航

    • 使用上下箭头键在目录列表中导航。
    • Enter 键进入子目录。
    • Backspaceh 键返回上一级目录。
  • 删除文件/目录

    • 选择要删除的文件或目录。
    • d 键标记文件或目录进行删除。
    • u 键取消删除标记。
    • x 键确认删除所有标记的文件和目录。
  • 排序

    • s 键切换排序方式(大小、名称、时间)。
    • r 键反转排序顺序。
  • 其他操作

    • ? 键查看帮助信息。
    • q 键退出 ncdu

4. 生成分析报告

ncdu 不仅支持交互式的查看磁盘使用情况,还可以将分析结果保存到文件,便于以后查看和分析。以下是生成报告的步骤:

  1. 启动 ncdu 并指定目录进行分析,例如:

    ncdu /var/log
    
  2. ncdu 界面中,按 w 键,然后输入保存报告的文件名,例如 report.txt。这样,ncdu 会将当前的分析结果写入到指定文件中。

    ncdu /var/log -o report.txt
    ncdu -o result.json /home
    ncdu -f result.json
    

5. 实例

假设你想分析 /var/log 目录的磁盘使用情况,并删除一些日志文件以释放空间。

  1. 启动 ncdu 并分析 /var/log 目录:

    ncdu /var/log
    
  2. 导航到需要删除的日志文件或目录,按 d 键标记它们。

  3. x 键确认删除所有标记的文件和目录。

  4. q 键退出 ncdu

6. 高级用法

ncdu 还支持一些高级功能,比如可以按文件类型分组统计磁盘使用情况。如果你想按文件类型分组统计,请按 z 键,然后按 Enter 键确认。

此外,ncdu 还可以与 du 结合使用,例如:

du -sh /var/log/* | ncdu -f -

这条命令会先通过 du 生成 /var/log 目录下各子目录的磁盘使用情况,然后将结果输入到 ncdu 进行进一步分析。

结语

ncdu 是一个非常实用的磁盘空间分析工具,它凭借友好的交互界面,使得磁盘空间的管理和分析变得更加简单直观。无论是系统管理员还是普通用户,都可以通过 ncdu 来有效地管理和监控磁盘空间的使用情况。希望本文能帮助你更好地理解和使用 ncdu


http://www.ppmy.cn/ops/161319.html

相关文章

第三章 组件(8)- 控制 <head> 内容

Razor 组件可以修改页面的 HTML <head> 元素内容&#xff0c;包括页标题<title>元素、元数据<meta>元素、<base>和<link>等。 HeadOutlet组件 在Blazor中&#xff0c;可以通过HeadOutlet组件来控制HTML中的 <head> 内容。 HeadOutlet组…

Linux提权之ssh密钥提权(八)

还是一样的 我们的实验环境是一样的 跟第七篇 这里我就不在多说了 接着上一篇实验 首先我们先退出root 权限 exit 我们先把bash 过滤出来 cat /etc/passwd | grep bash 我们要找到.ssh 我们是普通用户 只能访问普通用户的 cd /root 是不可以的 cd /home/web1 是可以的 我…

科普:“git“与“github“

Git与GitHub的关系可以理解为&#xff1a;Git是一种软件工具&#xff0c;而GitHub则是一个在线平台&#xff0c;它们是“一家子”。二者的关联最直接体现在你通过Git在GitHub仓库中clone软件包到你的机器中来。 具体来说&#xff1a; 一、Git 定义&#xff1a;Git是一个开源的…

Github 2025-02-24 开源项目周报 Top15

根据Github Trendings的统计,本周(2025-02-24统计)共有15个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目9TypeScript项目5Jupyter Notebook项目1C++项目1Rust项目1HTML项目1JavaScript项目1Dify.AI: 开源的LLM应用程序开发平台 创建周期:…

改进收敛因子和比例权重的灰狼优化算法【期刊论文完美复现】(Matlab代码实现)

2 灰狼优化算法 2.1 基本灰狼优化算法 灰狼优化算法是一种模拟灰狼捕猎自然群体行为的社会启发式优化算法&#xff0c;属于一种新型的群体智能优化算法。灰狼优化算法具有高度的灵活性&#xff0c;是当前较为流行的优化算法之一。灰狼优化算法主要分为三个阶段&#xff1a;追…

C++的设计模式

1. 创建型模式 单例模式 (Singleton) 意图&#xff1a;确保类仅有一个实例&#xff0c;并提供全局访问点。&#xff08;常见的日志类&#xff09;实现&#xff1a;class Singleton { private:static Singleton* instance;Singleton() {} // 私有构造函数 public:static Singl…

Ubuntu Linux运维实战指南4_文件系统基础知识

4 文件系统的层次结构 文件系统是Ubuntu的核心内容之一。在Linux系统中&#xff0c;一切都是文件&#xff0c;而文件系统就是文件的组织和管理方式。可以这么说&#xff0c;在本书中除前3章外&#xff0c;其余的所有章节都会涉及文件系统。深入理解和掌握文件系统是每个Linux学…

精选案例展 | 智己汽车—全栈可观测驱动智能化运营与成本优化

本案例为“观测先锋 2024 可观测平台创新应用案例大赛”精选案例&#xff0c;同时荣获IT168“2024技术卓越奖评选-年度创新解决方案”奖。 项目背景 近年来&#xff0c;中国汽车行业进入转型升级阶段&#xff0c;智能网联技术成为行业发展的核心。车联网、自动驾驶等技术的加…