Linux procFS中提供系统信息的键值类文件采用何种格式?
Linux procFS中提供系统信息的键值类文件采用何种格式?
我最近在研究Linux procFS里那些提供系统信息的文件,像/proc/mdstat、/proc/crypto和/proc/cpuinfo这类,对它们的格式规范特别好奇。其中/proc/mdstat的格式最能体现这种“没个准谱”的感觉,给你好好说道说道:
首先,查看/proc/mdstat的命令很简单:
#!/usr/bin/env sh cat '/proc/mdstat'
它的输出是这样的:
Personalities : unused devices: <none>
你看这就很有意思了——按说为了方便程序解析,这类系统信息文件要么像JSON5那样,用统一的大写键名、带空格的内容加引号;要么在没有数据的时候,用统一的逻辑值来表示。但/proc/mdstat里,Personalities后面直接空着,unused devices却用了<none>来标记无数据,这种前后不一致的格式真的让人摸不着头脑,我完全搞不懂它到底遵循什么规范,太让人困惑了。
至于其他类似的proc系统信息文件,比如磁盘相关的,格式更像是空格分隔的TSV(制表符分隔值)变种:
major minor #blocks name 259 0 1953514584 nvme3n1 259 2 1953510400 nvme3n1p1 259 1 1953514584...
备注:内容来源于stack exchange,提问作者RokeJulianLockhart
相关产品推荐
相关产品推荐

