news 2026/9/15 12:41:56

bottom 磁盘表怎么过滤条目并显示未挂载设备?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
bottom 磁盘表怎么过滤条目并显示未挂载设备?

bottom 磁盘表怎么过滤条目并显示未挂载设备?

【免费下载链接】bottomYet another cross-platform graphical process/system monitor.项目地址: https://gitcode.com/GitHub_Trending/bo/bottom

bottom(命令名btm)的磁盘组件默认是一张只显示已挂载设备的表格:设备一多,/dev/sda*/boot之类的条目就会把表挤满。bottom 的配置文件提供了两个能力来解决这个问题:

  • [disk.name_filter][disk.mount_filter]按设备名、挂载点过滤掉不想要的条目;
  • 在 Linux 上用include_unmounted = true把未挂载的设备也显示出来。

下文的配置都写在 bottom 的 TOML 配置文件里,改完后重新运行btm即可在磁盘组件中看到效果。

配置文件写在哪里

bottom 启动时自动查找配置文件,Linux 上的默认位置是:

  • $HOME/.config/bottom/bottom.toml
  • $XDG_CONFIG_HOME/bottom/bottom.toml

如果该路径下没有配置文件,bottom 首次启动时会尝试自动创建一份带默认值的文件(各平台的位置详见 配置文档)。仓库中的 default_config.toml 展示了完整的[disk]段,所有条目默认注释掉,需要时取消注释并修改即可。

如果你不想改默认位置的配置,也可以用命令行参数-C--config_location <PATH>)指定配置文件路径,例如btm -C /path/to/your_config.toml(路径替换为你自己的配置位置)。

过滤条目:name_filter 与 mount_filter

过滤通过两个表配置:[disk.name_filter]按磁盘名过滤,[disk.mount_filter]按挂载点过滤。两者都支持同一组选项:

选项默认值作用
list要匹配的过滤项列表
is_list_ignoredtrue是否忽略匹配到的条目(字段含义为 "Whether to ignore any matches")
regexfalse是否把list中的条目当作正则表达式
case_sensitivefalse是否区分大小写
whole_wordfalse是否要求整词匹配

官方文档给出的例子是忽略名称匹配/dev/sda的条目(disk-table 文档):

[disk.name_filter] # Whether to ignore any matches. Defaults to true. is_list_ignored = true # A list of filters to try and match. list = ["/dev/sda"] # Whether to use regex. Defaults to false. regex = true # Whether to be case-sensitive. Defaults to false. case_sensitive = false # Whether to require matching the whole word. Defaults to false. whole_word = false

效果(文档示例):

如果同时使用两个过滤条件,把两个表一起写入即可。文档的组合示例:

[disk.name_filter] is_list_ignored = false list = ["/dev/sda"] regex = true case_sensitive = false whole_word = false [disk.mount_filter] is_list_ignored = true list = ["/mnt/.*", "/"] regex = true case_sensitive = false whole_word = true

效果(文档示例):

default_config.toml 里还给了一个常见的list写法,用正则匹配一整类分区:

#[disk.name_filter] list = ["/dev/sda\\d+", "/dev/nvme0n1p2"] regex = true

/dev/sda\d+可以一次匹配sda1sda2这类带分区号的设备,适合用来清理分区条目。

显示未挂载设备(仅 Linux)

磁盘表默认只显示已挂载设备。在 Linux 上启用include_unmounted后可以显示未挂载设备:

[disk] include_unmounted = true

需要注意文档明确说明的行为:

  • 未挂载设备会显示 I/O 活动,但没有已用/剩余空间数据(这些数据依赖实时挂载状态),对应的 Used/Free 列会显示为N/A
  • 伪设备(loop*ram*zram*)会被自动跳过,无法通过名称过滤再隐藏;
  • 其他“噪音”设备则需要用上一节的name_filter自行过滤。

include_unmounted只在 Linux 上有效,macOS 和 Windows 不受该选项影响。

验证配置是否生效

  1. 把上面需要的[disk][disk.name_filter][disk.mount_filter]配置写入配置文件(默认路径或-C指定的路径)。
  2. 重新运行btm,打开磁盘组件查看表格内容。
  3. 判断标准来自文档展示的结果:被过滤的条目不再出现在表中(上面三张截图均为文档示例,实际条目取决于你机器上的设备);开启include_unmounted后,未挂载设备出现在表中,且 Used/Free 列显示N/A

如果不想每次都改布局,也可以直接在磁盘组件里按列排序核对条目:d按磁盘名、m按挂载点、u/n/t/p按已用/剩余/总量/已用百分比、r/w按读写速率排序,再按一次可反转排序方向(键位说明见 磁盘组件文档)。

可选:同时调整列与默认排序

过滤之外,[disk]段还支持控制显示哪些列以及启动时的默认排序:

[disk] columns = ["Disk", "Mount", "Used", "Free", "Total", "Used%", "R/s", "W/s"] default_sort = "R/s" sort_order = "Ascending"

default_sort可以填任何有效列名(如"Disk""Mount""R/s");文档特别提醒:如果填了一个实际未显示的列名,默认排序会退回表格的第一个列。

到此,磁盘表的条目过滤和未挂载设备显示就配置完成了:过滤只作用于显示,不改变系统状态;未挂载设备因缺少挂载点只能看到 I/O,看不到容量数据——这两点在使用include_unmounted时要有预期。

【免费下载链接】bottomYet another cross-platform graphical process/system monitor.项目地址: https://gitcode.com/GitHub_Trending/bo/bottom

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/15 12:39:49

YOLOv5道路裂缝检测实战:从数据标注到边缘部署

道路裂缝检测放在早几年&#xff0c;绝对是个纯人工的活&#xff0c;路面养护工人顶着大太阳拿尺子量、用眼睛看&#xff0c;一条高速几十公里走下来&#xff0c;效率低不说&#xff0c;细小的龟裂和横向裂缝还特别容易漏掉。后来行业内开始尝试数字图像处理&#xff0c;最典型…

作者头像 李华
网站建设 2026/9/15 12:39:37

PrimeNG Knob 组件完全指南:从双向绑定到 SVG 拨盘原理

PrimeNG Knob 组件完全指南&#xff1a;从双向绑定到 SVG 拨盘原理 【免费下载链接】primeng The Most Complete Angular UI Component Library 项目地址: https://gitcode.com/GitHub_Trending/pr/primeng Knob 是 PrimeNG 提供的一款表单项组件&#xff0c;用于通过一…

作者头像 李华