Linux系统之ncdu命令的基本使用
Linux系统之ncdu命令的基本使用
- 一、ncdu命令命令介绍
- 1.1 ncdu简介
- 1.2 ncdu特点
- 二、本地环境介绍
- 2.1 本地环境规划
- 2.2 本次实践介绍
- 三、检查本地环境
- 3.1 检查本地操作系统版本
- 3.2 检查系统内核版本
- 3.3 检查系统镜像源
- 3.4 更新软件列表
- 四、安装ncdu工具
- 4.1 安装ncdu软件
- 4.2 ncdu命令帮助
- 五、ncdu命令的基本使用
- 5.1 直接启动ncdu
- 5.2 指定路径
- 5.3 结果保存到文件
- 5.4 从文件导入扫描的目录
- 5.5 设置颜色方法
- 六、总结
👨💻 江湖有缘
🚀 一名在运维领域不懈探索的学习者。
🌟 认证与成就
🔴 红帽 RHCE 认证
🟠 华为 HCIP 数通认证
🔵 华为 HCIE 云计算认证
…以及其他多项专业认证
🌐 个人主页
🔗 CSDN个人主页
📢 公众号
🏷️ 【运维江湖客】
👥 交流社群
💬 欢迎同行及爱好者加入我们的QQ群:
🏷️ 群号【942602415】
📝 人生格言
“人可以被毁灭,但不能被打败。”
—— 海明威
一、ncdu命令命令介绍
1.1 ncdu简介
ncdu是一个基于 ncurses 的磁盘使用情况分析工具。它可以帮助您快速地查看文件系统中哪些文件或目录占用了较多的空间,并且以易于阅读的树状视图形式展示结果。
1.2 ncdu特点
- 快速扫描: ncdu 提供了快速的磁盘使用情况扫描,帮助您快速识别哪些文件或目录占用了大量空间。
- 交互式界面: ncdu 提供了一个基于 ncurses 的交互式界面,允许您轻松浏览文件系统结构。
- 颜色编码: 默认情况下,ncdu 使用颜色编码来区分文件类型和目录,使得输出更加直观。
- 灵活的选项: ncdu 支持多种选项,比如排除某些目录、按照大小排序、以及导出和导入扫描结果。
- 易于操作: ncdu 提供了简单的键盘命令,如使用方向键浏览文件列表、使用 Enter 键进入子目录等。
二、本地环境介绍
2.1 本地环境规划
本次实践为个人测试环境,操作系统版本为
Ubuntu 22.04.1。
| hostname | 本地P地址 | 操作系统版本 | 内核版本 | node版本 |
|---|---|---|---|---|
| ubuntu-001 | 192.168.3.251 | Ubuntu 22.04.1 LTS | 5.15.0-89-generic | v18.0.0 |
2.2 本次实践介绍
1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Ubuntu环境下ncdu命令的安装及基本使用。
三、检查本地环境
3.1 检查本地操作系统版本
检查本地操作系统版本,当前版本为
Ubuntu 22.04.1 LTS。
root@ubuntu-001:~# cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.1 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
3.2 检查系统内核版本
检查系统内核版本,当前内核版本为
5.15.0-89-generic。
root@ubuntu-001:~# uname -r
5.15.0-97-generic
3.3 检查系统镜像源
对于Ubuntu 22.04.1 LTS版本,将镜像源配置文件/etc/apt/sources.list修改内容如下。
deb https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiversedeb https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiversedeb https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse# deb https://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiversedeb https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
3.4 更新软件列表
执行以下命令,更新软件列包表。
root@ubuntu-001:~# apt update
Hit:1 https://mirrors.aliyun.com/ubuntu jammy InRelease
Hit:2 https://mirrors.aliyun.com/ubuntu jammy-security InRelease
Hit:3 https://mirrors.aliyun.com/ubuntu jammy-updates InRelease
Hit:4 https://mirrors.aliyun.com/ubuntu jammy-backports InRelease
Hit:5 https://mirrors.aliyun.com/docker-ce/linux/ubuntu jammy InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
116 packages can be upgraded. Run 'apt list --upgradable' to see them.
四、安装ncdu工具
4.1 安装ncdu软件
在ubuntu系统下,直接执行以下命令,安装ncdu。
apt install ncdu -y

4.2 ncdu命令帮助
- help帮助信息
root@ubuntu-001:~# ncdu --help
ncdu <options> <directory>-h,--help This help message-q Quiet mode, refresh interval 2 seconds-v,-V,--version Print version-x Same filesystem-e Enable extended information-r Read only-o FILE Export scanned directory to FILE-f FILE Import scanned directory from FILE-0,-1,-2 UI to use when scanning (0=none,2=full ncurses)--si Use base 10 (SI) prefixes instead of base 2--exclude PATTERN Exclude files that match PATTERN-X, --exclude-from FILE Exclude files that match any pattern in FILE-L, --follow-symlinks Follow symbolic links (excluding directories)--exclude-caches Exclude directories containing CACHEDIR.TAG--exclude-kernfs Exclude Linux pseudo filesystems (procfs,sysfs,cgroup,...)--confirm-quit Confirm quitting ncdu--color SCHEME Set color scheme (off/dark)
- 详细解释
| Option | Description |
|---|---|
-h, --help | 显示帮助消息。 |
-q | 安静模式,刷新间隔为 2 秒。 |
-v, -V, --version | 打印版本信息。 |
-x | 仅在同一文件系统内操作。 |
-e | 启用扩展信息。 |
-r | 读取模式,禁止修改文件。 |
-o FILE | 将扫描的目录导出到文件 FILE。 |
-f FILE | 从文件 FILE 导入扫描的目录。 |
-0, -1, -2 | 设置扫描时使用的用户界面(0=无,2=完整的 ncurses)。 |
--si | 使用以 10 为基数的 SI 前缀而不是以 2 为基数的前缀。 |
--exclude PATTERN | 排除匹配模式 PATTERN 的文件。 |
-X, --exclude-from FILE | 从文件 FILE 中读取排除模式。 |
-L, --follow-symlinks | 跟随符号链接(不包括目录)。 |
--exclude-caches | 排除包含 CACHEDIR.TAG 的目录。 |
--exclude-kernfs | 排除 Linux 的伪文件系统(如 procfs, sysfs, cgroup 等)。 |
--confirm-quit | 在退出 ncdu 之前进行确认。 |
--color SCHEME | 设置颜色方案(off/dark)。 |
五、ncdu命令的基本使用
5.1 直接启动ncdu
直接在命令行,输入ncdu命令,此时会从当前目录开始分析磁盘使用情况。
ncdu

- ncdu界面的基本交互命令,通过这些命令你可以浏览和管理文件系统的磁盘使用情况。
| 键 | 功能 |
|---|---|
| up, k | 将光标向上移动 |
| down, j | 将光标向下移动 |
| right/enter | 打开选定的目录 |
| left, <, h | 打开父目录 |
| n | 按名称排序(升序/降序) |
| s | 按大小排序(升序/降序) |
| C | 按项目数排序(升序/降序) |
| M | 按修改时间排序(需启用 -e 选项) |
| d | 删除选定的文件或目录 |
| t | 在排序时切换目录在文件之前/之后 |
5.2 指定路径
可以在ncdu命令后面,加上需要分析的目录路径。如果需要查看某个特定目录下的磁盘使用情况,只需在命令行后面加上该目录的路径即可。
ncdu /var/log/

5.3 结果保存到文件
- 将
/home目录的磁盘使用情况保存到文件 disk_usage.txt 中:
ncdu -o disk_usage.txt /home

- 查看保存文件内容
cat disk_usage.txt

5.4 从文件导入扫描的目录
可以使用
-f选项将文件导入扫描的目录
ncdu -f disk_usage.txt

5.5 设置颜色方法
执行以下命令,ncdu 会扫描 /home 目录及其子目录,并以颜色高亮的方式显示每个子目录占用的空间。颜色方案会帮助你更容易地区分文件和目录,并识别哪些部分占用了大量磁盘空间。
ncdu --color dark /home

六、总结
ncdu(NCurses 磁盘使用情况)是一款基于 ncurses 的磁盘空间分析工具,它以图形化的树状视图形式展示了磁盘使用情况,帮助用户直观地识别哪些文件或目录占用了大量的磁盘空间。与传统的du命令相比,ncdu提供了更为直观的交互式界面,使得管理磁盘空间变得更加容易和高效。
相关文章:
Linux系统之ncdu命令的基本使用
Linux系统之ncdu命令的基本使用 一、ncdu命令命令介绍1.1 ncdu简介1.2 ncdu特点 二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍 三、检查本地环境3.1 检查本地操作系统版本3.2 检查系统内核版本3.3 检查系统镜像源3.4 更新软件列表 四、安装ncdu工具4.1 安装ncdu软件4.2 n…...
STM32L051K8U6-HAL-LED闪烁设计
HAL三步法: 1、配置下载线 2、配置晶振 3、配置时钟 注意:中断优先级(这里防止HAL_Delay卡死,详细请看 http://t.csdnimg.cn/NQhQV) 4、 配置灯引脚属性为输出模式。并设置标签为LED 生成代码:编写while里…...
记一次远程API调用失败
记一次远程API调用失败 最近开发忙,项目紧,系统出现一些忽隐忽现的问题,本地也不能复现,当时也无法理解,就先搁置了,现在回想起来,这里还是明智的。 这个bug很神奇 今天,原本好好的…...
【力扣】746.使用最小花费爬楼梯
题目描述 给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。 你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。 请你计算并返回达到楼梯顶部的最低花费。 示例…...
06:【stm32】中断一:NVIC的配置
中断 1、中断的简介1.1、什么是中断1.2、为什么需要中断 2、中断的优先级2.1、中断优先级的表示方法 3、NVIC3.1、什么的NVIC3.2、NVIC的内部结构3.3、中断向量表3.4、程序实现①开启中断源②配置NVIC③中断响应函数 1、中断的简介 1.1、什么是中断 正在进行的事务被突发事件打…...
Flutter简介
Flutter是一个由Google开发的开源移动UI框架,它允许开发者使用Dart语言来构建高性能、高保真的iOS和Android应用。Flutter的设计理念是"编写一次,到处运行"(write once, run everywhere),这意味着开发者可以…...
WT2605C蓝牙语音芯片赋能对讲机新体验:无屏操控、音频解码与蓝牙音箱三合一
一、产品概况 对讲机市场是一个技术成熟且具有广泛应用前景的市场。对讲机作为无线通信设备的一种,在许多不同的领域和业务中发挥着重要作用。从技术发展角度来看,对讲机经历了从模拟到数字的转型,以及从简单通信工具向多功能设备的演进。当…...
ctfshow-web入门-sql注入(web191-web195)
目录 1、web191 2、web192 3、web193 4、web194 5、web195 1、web191 过滤了 ascii 使用 ord 代替: import requests import string url "http://a585c278-320a-40e7-841f-109b1e394caa.challenge.ctf.show/api/index.php" out for j in range(1…...
【ARM】v8架构programmer guide(3)_ARMv8的寄存器
目录 4.ARMv8 registers 4.1 AArch64 特殊寄存器 4.1.1 Zero register 4.1.2 Stack pointer (SP) 4.1.3 Program Counter (PC) 4.1.4 Exception Link Register(ELR) 4.1.5 Saved Process Status Register (SPSR) 4.2 Proc…...
SpringIOC整合dbUtil做的增删改查以及转账业务的实现
目录 一、xml方式实现 1.介绍lombok插件 2.功能 3.步骤 3.1 idea安装插件(只做一次) 3.2 添加坐标 3.3 编写注解 4.核心类 4.1 QueryRunner 4.2 query() 查询 4.3 update() 增删改 5.配置文件applicationContext.xml 6.junit测试 6.1使用步骤 6.1.1 坐标 6.1.2…...
【Nacos无压力源码领读】(二) 集成 LoadBanlancer 与 OpenFeign
上一篇文章中, 详细介绍了 Nacos 注册中心的原理, 相信看完后, 大家应该完全掌握了 Nacos 客户端是如何自动进行服务注册的, 以及 Nacos 客户端是如何订阅服务实例信息的, 以及 Nacos 服务器是如何处理客户端的注册和订阅请求的; 本文承上启下, 在订阅服务实例的基础上, 介绍如…...
CP AUTOSAR标准之DefaultErrorTracer(AUTOSAR_SWS_DefaultErrorTracer)(更新中……)
1 简介和功能概述 本规范描述了默认错误跟踪器的API。基础软件中检测到的所有开发和运行时错误都会报告给此模块。API参数允许跟踪错误来源和类型: 检测到错误的模块检测到错误的函数错误类型此模块API背后的功能不在本规范的范围内。软件开发人员和软件集成商应根据其特定应用…...
SpringMVC (发送请求——>参数传递—— >响应数据)
设置请求访问路径 RequestMapper:将请求访问路径和我们业务层的方法联系起来 ResponseBody:将我们业务层方法的返回值转化为json,xml或其他格式的数据返回给页面 两种请求 get请求 post请求 测试案例 RequestMapping("/getNameAndAge&…...
认识Modbus RTU与Modbus TCP
(选自成都纵横智控-Modbus RTU与Modbus TCP协议区别详解 ) Modbus RTU 和 Modbus TCP 是两种常用的工业通信协议,用于连接电子设备,但它们在多方面有所不同。以下是它们的详细比较: Modbus RTU 协议类型: …...
如何在 Kubernetes 中使用 ClickHouse 和 JuiceFS
ClickHouse 结合 JuiceFS 一直是一个热门的组合,社区中有多篇实践案例。今天的文章来自美国公司 Altinity,一家提供 ClickHouse 商业服务的企业,作者是 Vitaliy Zakaznikov,他尝试了这个组合并公开了过程中使用的代码。原文有两篇…...
云计算任务调度优化matlab仿真,对比蚁群优化和蛙跳优化
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 4.1 ACO蚁群优化 4.2 蛙跳优化 5.完整程序 1.程序功能描述 云计算任务调度优化,优化目标位任务消耗时间,调度后的经济效益以及设备功耗,对比蚁群优化算法和蛙跳优化…...
基于双PI+EKF扩展卡尔曼滤波的PMSM速度控制simulink建模与仿真
目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 PMSM数学模型 4.2 双PI控制器设计 4.3 扩展卡尔曼滤波器(EKF) 4.4 控制系统实现 5.完整工程文件 1.课题概述 基于双PIEKF扩展卡尔曼滤波的PMSM速度控制simulink建模与仿真。对比基于双PI的扩展卡…...
医疗器械注册资源宝库数屿医械官方平台!
医学影像设备市场作为医疗器械领域的佼佼者,技术门槛高且规模庞大,2021年全球规模达458亿美元,预计2022年逼近500亿美元,增长动力源自技术革新与临床需求攀升。中国市场亦不甘落后,受政策驱动与市场需求双重提振&#…...
Django如何移除数据库字段?
关键步骤: 第一步:python manage.py makemigrations 你的项目名称第二步: python manage.py migrate (.venv) PS D:\python_workpace\django_xitong_shezhi\pythonProject\myproject> python manage.py makemigrations myproject Migra…...
阶段项目——拼图小游戏
Java学习笔记(新手纯小白向) 第一章 JAVA基础概念 第二章 JAVA安装和环境配置 第三章 IntelliJ IDEA安装 第四章 运算符 第五章 运算符联系 第六章 判断与循环 第七章 判断与循环练习 第八章 循环高级综合 第九章 数组介绍及其内存图 第十章 数…...
遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
C# 类和继承(抽象类)
抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...
AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...
软件工程 期末复习
瀑布模型:计划 螺旋模型:风险低 原型模型: 用户反馈 喷泉模型:代码复用 高内聚 低耦合:模块内部功能紧密 模块之间依赖程度小 高内聚:指的是一个模块内部的功能应该紧密相关。换句话说,一个模块应当只实现单一的功能…...
Visual Studio Code 扩展
Visual Studio Code 扩展 change-case 大小写转换EmmyLua for VSCode 调试插件Bookmarks 书签 change-case 大小写转换 https://marketplace.visualstudio.com/items?itemNamewmaurer.change-case 选中单词后,命令 changeCase.commands 可预览转换效果 EmmyLua…...
实战设计模式之模板方法模式
概述 模板方法模式定义了一个操作中的算法骨架,并将某些步骤延迟到子类中实现。模板方法使得子类可以在不改变算法结构的前提下,重新定义算法中的某些步骤。简单来说,就是在一个方法中定义了要执行的步骤顺序或算法框架,但允许子类…...
