我在脚本中使用parted。出于这个原因,我需要parted来始终使用相同的单元。否则我不能做合理的计算。
在此示例中,parted混合了KB和GB:
pcsyn-038 user # parted -l
Model: ATA ST9250315AS (scsi)
Disk /dev/sda: 250GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 21,5GB 21,5GB primary ext4
3 21,5GB 248GB 226GB primary ext4
2 248GB 250GB 2147MB primary linux-swap(v1)这对输出没有任何影响:
parted /dev/sda unit MB发布于 2011-06-22 00:24:17
根据parted(1),单位可以是以下之一:
例如:
$ for hdd in /dev/sd? ; do
parted -m $hdd unit MB print; done |\
column -s: -t
BYT;
/dev/sda 500108MB scsi 512 512 msdos ATA WDC WD5002ABYS-0;
2 0.03MB 60003MB 60003MB reiserfs ;
3 60003MB 60250MB 247MB ;
4 60250MB 499858MB 439608MB ;
5 60250MB 75253MB 15003MB ext3 ;
6 75253MB 200253MB 125000MB ext3 ;
7 200253MB 499858MB 299606MB ;
1 499858MB 500105MB 247MB ext2 boot;
BYT;
/dev/sdb 500108MB scsi 512 512 msdos ATA ST3500418AS;
2 0.03MB 60003MB 60003MB reiserfs ;
3 60003MB 60250MB 247MB ext3 ;
4 60250MB 499858MB 439608MB ;
5 60250MB 75253MB 15003MB ;
6 75253MB 200253MB 125000MB ;
7 200253MB 499858MB 299606MB ;
1 499858MB 500105MB 247MB ext2 boot;发布于 2011-06-22 00:00:57
我认为您不应该使用parted的-l参数,而应该使用print子命令:
parted /dev/sda unit MB print当我这样做的时候,我得到了所有尺寸的MB。
发布于 2011-06-21 23:14:59
fdisk实用程序的输出更加一致和精确。它使用/proc/partitions来确定使用了哪些分区。parted是一个更适合最终用户的实用程序,因为它更容易使用。
注意:通常每个块设备定义它自己的块大小。通过指定每个设备来获取有关每个设备的块数的更多信息。
你想计算什么?如果需要测量可用磁盘空间,最好使用du。
https://stackoverflow.com/questions/6427432
复制相似问题