![系统磁盘信息存储在哪里](https://linux22.com/image/884396/%E7%B3%BB%E7%BB%9F%E7%A3%81%E7%9B%98%E4%BF%A1%E6%81%AF%E5%AD%98%E5%82%A8%E5%9C%A8%E5%93%AA%E9%87%8C.png)
我编写了一个 C 程序来显示基本系统信息。它通过使用 fgets 和相关逻辑解析 /etc/network/interfaces 和 /proc/meminfo 来实现此目的。这些为我提供了网络信息和内存/RAM 信息,但在我的程序中是否有其他位置可以提取可用磁盘空间和总磁盘空间?
答案1
您可以通过读取文件来获取磁盘大小/sys/proc/sda/size
,它会给出一个数字,例如 976773168。将该数字乘以 512 即可得到以字节为单位的大小。然后,您可以将其转换为 MB 或 GB。
您还可以通过读数获取分区大小/sys/block/sda/sdaX/size
。
答案2
该命令df -h
以可读的大小显示每个挂载的磁盘可用空间和已用空间。
该命令du -sh /* | sort -n -r
将显示每个顶层目录使用了多少空间。