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

发布于 2024-11-16 11:49:54 字数 539 浏览 3 评论 0原文

我在脚本中使用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

I use parted in a script. For that reason I need parted to always use the same unit. Otherwise I am not able to do reasonable calculations.

In this example parted mixes KB and 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)

This does not have any effect on the output:

parted /dev/sda unit MB

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

以为你会在 2024-11-23 11:49:54

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

  • s 扇区
  • B 字节、
  • kBMBGBTB
  • % 设备大小的百分比
  • cyl 柱面
  • 通道 柱面、磁头、扇区
  • 紧凑 兆字节输入,以及人工友好的输出形式

例如:

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

According to parted(1), unit can be one of:

  • s sectors
  • B bytes,
  • kB, MB, GB, TB,
  • % percentage of device size,
  • cyl cylinders,
  • chs cylinders, heads, sectors, or
  • compact megabytes for input, and a human-friendly form for output.

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;
咋地 2024-11-23 11:49:54

我认为您不应该使用 parted-l 参数,而是使用 print 子命令:

parted /dev/sda unit MB print

当我这样做时,我会得到 <代码>MB。

I think you should not use the -l argument of parted but the print subcommand:

parted /dev/sda unit MB print

When I do it this way I get all sizes in MB.

愿与i 2024-11-23 11:49:54

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

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

你想计算什么?如果您需要测量可用磁盘空间,最好使用 du< /a>.

The fdisk utility has a much more consistent and precise output. It uses /proc/partitions to determine what partitions are used. parted is a more an end-user utility as it's easier to use.

Note: generally each block-device defines it's own blocksize. Get more information on the number of blocks per device by specifing each device.

What do you want to calculate? If you need some measurement of free disk space, it's better to use du.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文