是否有通用的 linux 实用程序/方法来查询有关系统上所有磁盘的信息?

Posted

技术标签:

【中文标题】是否有通用的 linux 实用程序/方法来查询有关系统上所有磁盘的信息?【英文标题】:Is there a common linux utility/way to query information about all the disks on a system? 【发布时间】:2015-09-25 16:39:20 【问题描述】:

我正在编写一个脚本,它将远程访问实验室中的机器并评估系统中的磁盘及其用途。我需要:

1. 获取系统中的所有磁盘,这也包括 SAN 磁盘作为 以及非标准的硬件突袭控制器。 2. 检查磁盘是否是软件RAID 的一部分。 3. 检查磁盘的分区以及它们是否可以启动。 4.收集有关驱动器的基本信息,包括制造商块大小等。

我遇到的问题是,如果不编写 10 多页用于查找这些信息的每个实用程序的正则表达式,似乎没有一个非常方便的地方可以找到所有这些信息.令人惊讶的是,这在 Windows 上更容易,因为我可以使用 WMI。有没有更程序化的方式来收集我在 linux 中寻找的所有信息?

【问题讨论】:

kpartx,partprobe,blkid,lshw; cfdisk 和parted 【参考方案1】:

我想到的工具:

kpartxpartprobeblkidlshwcfdiskparted

我认为parted 适合自动化。

lshw 有 xml 输出。

【讨论】:

我很想使用 lshw.. 但是,它在所有 Linux 发行版中并不统一。此外,您列出的其他操作主要用于更改驱动器上的分区,而不是读取有关驱动器的元数据。我正在考虑更多地通过迭代 /sys/class/block 来收集有关每个块设备的信息。 嗯? partprobe、blkid、kpartx 根本 处理修改。 sfdisk 和 parted 可以用来查询信息。事实上,parted 必然会提供最多的信息(因为无论如何它都需要信息来支持其功能)【参考方案2】:

mount

mount [-l] [-t type] 列出所有挂载的文件系统(类型类型)。选项 -l 在此列表中添加标签。

http://linux.die.net/man/8/mount

【讨论】:

这只会列出文件系统。我需要整个系统的整个有组织的磁盘结构。

以上是关于是否有通用的 linux 实用程序/方法来查询有关系统上所有磁盘的信息?的主要内容,如果未能解决你的问题,请参考以下文章

JQuery 命名空间的最佳实践 + 通用实用程序函数

有关Linux软件开发的碎碎念

是否有一个很好的实用程序/第 3 方库来管理 AppEngine 数据存储?

hadoop fs -ls隐藏文件

linux-mysql-安装配置简单实用

Linux常用基本命令分类查询版(超实用不来看看嘛?)