如何获取操作系统当前的根目录列表与磁盘剩余空间总量

夏辰小哥_2809

夏辰小哥_2809

2026-03-29

330人浏览

原创

Linux/macOS用df和mount查/等挂载点及剩余空间,Windows用PowerShell的Get-PSDrive或wmic查C:等盘符;根目录指独立挂载的顶级路径(如/、C:),非子目录;剩余空间需排除虚拟文件系统和隐藏恢复分区。

如何获取操作系统当前的根目录列表与磁盘剩余空间总量

获取操作系统当前的根目录列表和磁盘剩余空间总量,需区分不同系统——Linux/macOS 用 df 和 mount 命令,Windows 则依赖 wmic 或 PowerShell。核心是识别“根目录”(通常指挂载点为 / 或 C: 的文件系统)及其对应磁盘的可用空间。

Linux/macOS:列出根挂载点并查剩余空间

多数 Linux 发行版中,真正的“根目录”只有一个(即挂载在 / 的文件系统),但部分系统可能将 /boot、/home 等单独分区挂载,这些也属于逻辑上的“根级目录”。可统一用以下命令查看:

  • df -h / —— 显示根(/)所在文件系统的总容量、已用、可用空间(人类可读格式)
  • df -h | grep '^[^[:space:]]+.* /$' —— 筛选出挂载点为 / 的行(排除子挂载)
  • mount | awk '$3 == "/" {print $1, $5}' —— 输出根分区设备名及文件系统类型(如 /dev/sda2 ext4)
  • 若需所有顶层挂载点(含 /boot、/efi 等),直接运行 df -h --output=source,fstype,avail,target | tail -n +2,它会列出所有挂载点及其可用空间

Windows:获取系统盘(C:)及所有固定磁盘的剩余空间

Windows 中“根目录”通常指系统启动盘(默认 C:),但也可扩展理解为所有本地固定磁盘的根路径(如 D:、E:)。推荐使用 PowerShell 获取准确值:

  • Get-PSDrive -PSProvider FileSystem | Where-Object {$_.DisplayRoot -match '^[A-Z]:\$'} —— 列出所有盘符根路径(C:、D:等)及其剩余空间(Free 字段)
  • 单查系统盘:Get-PSDrive C | Select-Object Used, Free, DisplayRoot
  • 命令行兼容方式(CMD):wmic logicaldisk where "drivetype=3" get deviceid,freespace,size,结果单位为字节,需自行换算(除以 1024^3 得 GB)

跨平台脚本思路(Python 示例)

若需程序化获取,Python 的 shutil.disk_usage() 可查指定路径所在磁盘的剩余空间,配合 os.path.ismount() 或平台特定逻辑判断“根挂载点”:

  • Linux/macOS:[p for p in ['/','/boot','/home'] if os.path.ismount(p)],再对每个路径调用 shutil.disk_usage(p)
  • Windows:[f'{d}:\' for d in 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' if os.path.isdir(f'{d}:\')],过滤出有效盘符后查空间
  • 注意:shutil.disk_usage() 返回的是字节值,需转换为 MB/GB 提升可读性

注意事项与常见误区

“根目录列表”不是指 / 下的子目录(如 /bin、/etc),而是指独立挂载的顶级文件系统路径;“剩余空间总量”应明确是单个根分区,还是所有根级挂载点之和:

  • Linux 中 /proc、/sys、/dev/shm 是虚拟文件系统,df 虽显示但无实际磁盘空间,不应计入总量
  • Windows 的还原分区、恢复分区通常不可见,也不计入用户可用空间,Get-PSDrive 默认不列出它们
  • 容器或 WSL 环境下,/ 可能映射到宿主机某路径,df 显示的是该路径所在物理磁盘的剩余量
PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
视频服务器配置参数有哪些
视频服务器配置参数有哪些

视频服务器配置参数有处理器、内存、存储、视频编解码器、网络接口、视频输入输出接口、操作系统、安全性、环境适应性和成本。在搭建视频服务器时,需要根据实际需求和预算,合理选择这些参数,以实现高性能、高稳定性和低成本的目标。

2023.10.17

4860

11

linux的操作系统介绍
linux的操作系统介绍

Linux是一个灵活、稳定、安全的操作系统,适用于各种不同的应用场景,从个人电脑到服务器和嵌入式系统。想了解更多Linux的相关内容,可以阅读本专题下面的文章。

2024.03.20

3786

12

Linux操作系统的主要用途
Linux操作系统的主要用途

Linux操作系统用途广泛,包括:服务器运营,软件开发,科学研究和教育,嵌入式系统,以及个人电脑和笔记本电脑。想了解更多Linux的相关内容,可以阅读本专题下面的文章。

2024.03.21

6719

8

linux操作系统的作用
linux操作系统的作用

linux操作系统在以下领域发挥着关键作用:服务器和云计算;嵌入式系统;个人电脑和笔记本电脑;超级计算;其他领域等等。想了解更多linux操作系统的相关内容,可以阅读本专题下面的文章。

2024.04.12

3135

5

有哪些常见的网络操作系统
有哪些常见的网络操作系统

常见的网络操作系统有windows server、linux、unix、macos server、freebsd、cisco ios、juniper junos和hp-ux等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.09.12

3684

6

32位操作系统怎么改成62位的
32位操作系统怎么改成62位的

要将 32 位操作系统升级到 64 位,需要遵循以下步骤:1. 检查硬件和软件兼容性;2. 备份数据;3. 获取 64 位操作系统;4. 创建可启动安装媒体;5. 从安装媒体启动计算机;6. 选择“升级”选项;7. 完成安装。

2025.04.02

3583

9

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

80

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

40

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

40

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习