如何Linux列出磁盘分区命令

时间:2020-01-09 10:41:44  来源:igfitidea点击:

如何使用CLI列出Linux操作系统下的所有硬盘分区?
通常,您的硬盘驱动器分为一个或多个称为分区的逻辑磁盘。
在硬盘的扇区0中的分区表中描述了这种划分。
该设备通常是/dev/sda,/dev/sdb等。
设备名称是指整个磁盘,并且该设备名称将如下所示:

  • /dev/hd * IDE磁盘。/dev/hda将是第一个IDE硬盘,/dev/hdb将是第二个IDE硬盘,依此类推。
  • /dev/sd * SCSI或SATA磁盘。/dev/sda将是第一个SATA/SCSI硬盘,/dev/sdb将是第二个SATA/SCSI硬盘,依此类推。

列出Linux下的分区

打开一个终端窗口(选择应用程序>附件>终端)。
在su命令提示时,通过执行su-并输入root密码来切换到root用户。
或使用sudo命令:

$ su 
# fdisk -l

或者

$ sudo fdisk -l

输出示例:

Disk /dev/sda: 251.1 GB, 251059544064 bytes
255 heads, 63 sectors/track, 30522 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0008fcd3

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          14      104448   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              14       13068   104857600   83  Linux
/dev/sda3           13068       13198     1048576   82  Linux swap / Solaris
/dev/sda4           13198       30523   139163648    5  Extended
/dev/sda5           13198       30523   139162624   83  Linux

-l选项显示指定设备的分区表,然后退出。
如果未提供任何设备,则使用/proc/partitions中提到的设备(如果存在)。
您可以如下指定设备名称(在此示例中,列出/dev/sda的分区):

# fdisk -l

sfdisk命令

sfdisk命令充当Linux的分区表操纵器。
您也可以使用此工具列出分区:

# sfdisk -l /dev/sda
# sfdisk -lu /dev/sda
# sfdisk -ls /dev/sda

输出示例:

71669760

Disk /dev/sda: 8922 cylinders, 255 heads, 63 sectors/track
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sda1   *      0+    104-    105-    838656   83  Linux
/dev/sda2        104+    235-    131-   1048576   82  Linux swap / Solaris
/dev/sda3        235+   8922-   8688-  69781504   83  Linux
/dev/sda4          0       -       0          0    0  Empty

其中:

  • -l:列出设备的分区。
  • -s:列出分区的大小。
  • -u或-uS或-uB或-uC或-uM默认为圆柱体,至少在已知几何体的情况下。

列出分区大于2TB的Linux

fdisk或sfdisk命令将不会列出任何大于2TB的分区。
要解决此问题,您需要对GPT分区使用GNU parted命令。
它支持Intel EFI/GPT分区表。
分区表(GPT)是分区表在物理硬盘上的布局的标准。
它是Intel提出的可扩展固件接口(EFI)标准的一部分,以替代过时的PC BIOS,后者是原始IBM PC剩余的少量文物之一。

EFI使用GPT,而BIOS使用主引导记录(MBR)。
在此示例中,使用parted命令在/dev/sdb上列出分区:

# parted /dev/sdb

输出示例:

GNU Parted 2.3
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)

通过在(分开的)提示符下执行" unit TB"或" unit GB"将单位类型设置为TB或GB:

(parted) unit TB

或者

(parted) unit GB

要列出分区,请在(分区)提示符下执行print命令:

(parted) print

输出示例:

Model: ATA ST33000651AS (scsi)
Disk /dev/sdb: 3001GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system  Name     Flags
1      0.00GB  3001GB  3001GB  ext4         primary

(parted)

要从分区会话中退出,请在(分区)提示符下退出:

(parted) quit

如何列出所有块设备上的所有分区布局?

将-l OR list选项传递给parted命令以列出所有块设备上的分区布局:

# parted -l

lssci命令列出SCSI设备(或主机)及其属性

使用lsscsi命令显示SCSI设备(或主机)及其属性:

# lsscsi

输出示例:

[0:0:0:0]    disk    ATA      TOSHIBA MK5061GS MF00  /dev/sda
[1:0:0:0]    cd/dvd  MATSHITA BD-RE UJ232A     1.10  /dev/sr0
[2:0:0:0]    disk    ATA      ST9500420ASG     0004  /dev/sdb