如何使分开始终显示相同的单位

时间:2011-06-21 14:59:42

标签: linux scripting partitioning

我在剧本中使用了分开。出于这个原因,我需要分手才能使用相同的单位。否则我无法进行合理的计算。

在此示例中,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

3 个答案:

答案 0 :(得分:7)

根据 parted(1),单位可以是以下之一:

  • s sector
  • B 字节
  • kB MB GB TB
  • 设备尺寸的百分比
  • cyl 柱面
  • chs 气瓶,磁头,行业
  • 输入
  • 紧凑 兆字节,输出的人性化表单。

e.g:

$ 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;

答案 1 :(得分:6)

我认为您不应该使用-l的{​​{1}}参数,而应使用parted子命令:

print

当我这样做时,我会在parted /dev/sda unit MB print 中获得所有尺寸。

答案 2 :(得分:0)

fdisk实用程序具有更加一致和精确的输出。它使用/proc/partitions来确定使用的分区。 parted更像是一个终端用户实用程序,因为它更容易使用。

注意:通常每个块设备都定义它自己的块大小。通过指定每个设备,获取有关每个设备的块数的更多信息。

你想要计算什么?如果需要对可用磁盘空间进行一些测量,最好使用du