提取分区数量的最佳方法?
问题描述:
假设磁盘上只有主分区,找到当前分区数量的最佳方法是什么?提取分区数量的最佳方法?
有没有什么更好的办法比:
fdisk -l > temp
#Following returns first column of the last line of temp e.g. /dev/sda4
lastPart=$(tail -n 1 temp | awk '{print $1}')
totalPartitions=$(echo ${lastPart:8})
$ totalPartitions变量有时会返回NULL 。这就是为什么,我想知道是否有更可靠的方法来查找当前的分区数量。
答
什么:
totalPartitions=$(grep -c 'sda[0-9]' /proc/partitions)
?
谢谢。这是更有效的解决方案。 – baltoro 2010-08-25 11:05:30
请注意,尽管大多数类UNIX操作系统支持procfs,但只有Linux(afaik)支持非进程相关信息(如/ proc/partitions)。换句话说,这可能会失败,例如FreeBSD。 – gamen 2010-08-25 12:56:49
由于某种原因,当我编辑我的上述帖子时,他告诉我“这个评论可能不再被编辑”,所以我加入了这个帖子。达夫特。因为较早的Linux内核区分了使用PATA或SCSI的驱动器(您可能还记得PATA驱动器传统上被称为'hdX'),所以'sdX'只能在合理的现代系统上运行。 – gamen 2010-08-25 13:06:11