【51CTO.com快译】我们在本文中将介绍多款linux命令行实用工具,你可以用它们在Linux下检查磁盘分区。

监测一个或多个存储设备的空间使用情况是系统管理员最重要的任务之一,这有助于确保存储设备上仍有足够的闲置空间,以便高效地运行Linux系统。
一、打印输出Linux磁盘分区表的命令行实用工具 1. fdisk(固定磁盘)命令fdisk是一款功能强大、广受欢迎的命令行工具,可用于创建和处理磁盘分区表。
它支持GPT、MBR、Sun、SGI和BSD等格式的分区表。你可以通过它易于使用、基于文本、菜单驱动的界面来运行fdisk命令,从而显示、创建、调整、删除、修改、拷贝和移动存储磁盘上的分区。
下面这个fdisk命令将打印输出所有已挂载块设备的分区表:
$sudofdisk-l fdisk List Linux Disk Partition Table Disk/dev/sda:931.5GiB,1000204886016bytes,1953525168sectors Units:sectorsof1*512=512bytes Sectorsize(logical/physical):512bytes/4096bytes I/Osize(minimum/optimal):4096bytes/4096bytes Disklabeltype:gpt Diskidentifier:82213CA8-50E4-4DDB-9337-85E46DA03430 DeviceStartEndSectorsSizeType /dev/sda12048205004720480001000Mwindowsrecoveryenvironment /dev/sda220500482582527532480260MEFISystem /dev/sda32582528463052720480001000MLenovobootpartition /dev/sda446305284892671262144128MMicrosoftreserved /dev/sda5489267211732951031168402432557.1GMicrosoftbasicdata /dev/sda6187034828819227770875242880025GMicrosoftbasicdata /dev/sda7192277708819535237113074662414.7GWindowsrecoveryenvironment /dev/sda81173295104117329715120481MBIOSboot /dev/sda91173297152118111027178131203.7GLinuxswap /dev/sda1011811102721870348287689238016328.7GLinuxfilesystem Partitiontableentriesarenotindiskorder.想了解fdisk命令的更多用法和例子,请参阅《管理分区的10个fdisk命令实例》(http://www.tecmint.com/fdisk-commands-to-manage-linux-disk-partitions/)。
2. sfdisk(用于脚本环境的fdisk)命令sfdisk用起来比较像fdisk,它可打印输出或者处理存储磁盘分区表。然而,sfdisk提供了fdisk所没有的额外特性。你可以像fdisk那样来使用它,它还支持GPT、MBR、Sun和SGI等格式的分区表。
两者之间的一个区别就是,sfdisk并不像fdisk那样为SGI和SUN磁盘标签创建标准的系统分区。
$sudosfdisk-l sfdisk Check Linux Disk Partition Table Disk/dev/sda:931.5GiB,1000204886016bytes,1953525168sectors Units:sectorsof1*512=512bytes Sectorsize(logical/physical):512bytes/4096bytes I/Osize(minimum/optimal):4096bytes/4096bytes Disklabeltype:gpt Diskidentifier:82213CA8-50E4-4DDB-9337-85E46DA03430 DeviceStartEndSectorsSizeType /dev/sda12048205004720480001000MWindowsrecoveryenvironment /dev/sda220500482582527532480260MEFISystem /dev/sda32582528463052720480001000MLenovobootpartition /dev/sda446305284892671262144128MMicrosoftreserved /dev/sda5489267211732951031168402432557.1GMicrosoftbasicdata /dev/sda6187034828819227770875242880025GMicrosoftbasicdata /dev/sda7192277708819535237113074662414.7GWindowsrecoveryenvironment /dev/sda81173295104117329715120481MBIOSboot /dev/sda91173297152118111027178131203.7GLinuxswap /dev/sda1011811102721870348287689238016328.7GLinuxfilesystem Partitiontableentriesarenotindiskorder.想了解更多用法,请参阅sfdisk的参考手册页。
3. cfdisk(curses fdisk)命令cfdisk是个简单程序,可用于打印输出和管理磁盘分区。它借助易于使用的界面提供了基本的分区功能。你可以使用类似功能比较强大的命令fdisk和sfdisk让用户可以查看、添加、删除和修改硬盘分区。
使用向右箭头和向左箭头来移动菜单标签上的高亮部分。
$sudocfdisk cfdisk Print Linux Disk Partition Table Disk:/dev/sda Size:931.5GiB,1000204886016bytes,1953525168sectors Label:gpt,identifier:82213CA8-50E4-4DDB-9337-85E46DA03430 DeviceStartEndSectorsSizeType >>Freespace2048204800B /dev/sda12048205004720480001000MWindowsrecoveryenvironm /dev/sda220500482582527532480260MEFISystem /dev/sda32582528463052720480001000MLenovobootpartition /dev/sda446305284892671262144128MMicrosoftreserved /dev/sda5489267211732951031168402432557.1GMicrosoftbasicdata /dev/sda6187034828819227770875242880025GMicrosoftbasicdata /dev/sda7192277708819535237113074662414.7GWindowsrecoveryenvironm /dev/sda81173295104117329715120481MBIOSboot /dev/sda91173297152118111027178131203.7GLinuxswap /dev/sda1011811102721870348287689238016328.7GLinuxfilesystem ┌────────────────────────────────────────────────────────────────────────────┐ │Filesystem:ntfs│ │Filesystemlabel:WINRE_DRV│ └────────────────────────────────────────────────────────────────────────────┘ [New][Quit][Help][Sort][Write][Dump] 4. parted命令parted也是一种知名的命令行工具,可用于显示和处理磁盘分区。它识别多种分区表格式,包括MBR和GPT。
parted可用于为新的分区创建空间,重新整理磁盘使用情况,将数据拷贝到新的硬盘,等等。
$sudoparted-l parted A Partition Manipulation Tool Model:ATAST1000LM024HN-M(scsi) Disk/dev/sda:1000GB Sectorsize(logical/physical):512B/4096B PartitionTable:gpt DiskFlags: NumberStartEndSizeFilesystemNameFlags 11049kB1050MB1049MBntfsBasicdatapartitionhidden,diag 21050MB1322MB273MBfat32EFIsystempartitionboot,hidden,esp 31322MB2371MB1049MBfat32Basicdatapartitionhidden 42371MB2505MB134MBMicrosoftreservedpartitionmsftres 52505MB601GB598GBntfsBasicdatapartitionmsftdata 8601GB601GB1049kBbios_grub 9601GB605GB4000MBlinux-swap(v1) 10605GB958GB353GBext4 6958GB984GB26.8GBntfsBasicdatapartitionmsftdata 7984GB1000GB15.7GBntfsBasicdatapartitionhidden,diag想了解更多用法,请参阅《管理Linux磁盘分区的8个Linux parted命令》(http://www.tecmint.com/parted-command-to-create-resize-rescue-linux-disk-partitions/)。
5. lsblk(列表块)命令lsblk打印输出的信息包括:关于所有可用或特定已挂载块设备(不包括内存磁盘)的名称、类型和挂载点。
$lsblk lsblk List Linux Block Devices NAMEMAJ:MINRMSIZEROTYPEMOUNTPOINT sda8:00931.5G0disk ├─sda18:101000M0part ├─sda28:20260M0part ├─sda38:301000M0part ├─sda48:40128M0part ├─sda58:50557.1G0part ├─sda68:6025G0part ├─sda78:7014.7G0part ├─sda88:801M0part ├─sda98:903.7G0part[SWAP] └─sda108:100328.7G0part/ sr011:011024M0rom 6. blkid(块ID)命令blkid这个实用工具可找到或者显示块设备的属性(NAME=值对),比如设备或分区名称、标签、文件系统类型及其他。
$blkid blkid Print Block Device Attributes /dev/sda1:LABEL="WINRE_DRV"UUID="D4A45AAAA45A8EBC"TYPE="ntfs"PARTLABEL="Basicdatapartition"PARTUUID="dcc4de2d-8fc4-490f-85e0-50c2e18cc33d" /dev/sda2:LABEL="SYSTEM_DRV"UUID="185C-DA5B"TYPE="vfat"PARTLABEL="EFIsystempartition"PARTUUID="b13c479a-d63b-4fec-9aee-f926fe7b0b16" /dev/sda3:LABEL="LRS_ESP"UUID="0E60-2E0E"TYPE="vfat"PARTLABEL="Basicdatapartition"PARTUUID="d464feab-0791-4866-a36b-90dbe6d6a437" /dev/sda5:LABEL="Windows8_OS"UUID="18D0632AD0630CF6"TYPE="ntfs"PARTLABEL="Basicdatapartition"PARTUUID="8a66bd5b-8624-4fdb-9ad8-18d8cd356160" /dev/sda6:LABEL="LENOVO"UUID="9286FFD986FFBC33"TYPE="ntfs"PARTLABEL="Basicdatapartition"PARTUUID="92fbbea9-6bcd-4ae5-a322-c96a07a81013" /dev/sda7:LABEL="PBR_DRV"UUID="ECD06683D066543C"TYPE="ntfs"PARTLABEL="Basicdatapartition"PARTUUID="0e2878a2-377c-4b35-9454-f1f2c6398405" /dev/sda9:UUID="e040de62-c837-453e-88ee-bd9000387083"TYPE="swap"PARTUUID="f5eef371-a152-4208-a62f-0fb287f9acdd" /dev/sda10:UUID="bb29dda3-bdaa-4b39-86cf-4a6dc9634a1b"TYPE="ext4"PARTUUID="26b60905-1c39-4fd4-bdce-95c517c781fa" 7. hwinfo(硬件信息)命令hwinfo通常打印输出关于系统硬件的详细信息。但是你可以运行如下hwinfo命令,使用-- <HARDWARE_ITEM>这个选项,列出指定类型的所有硬件项(这里是磁盘等块设备及其分区)。
如果只想获得摘要信息,请使用-- short选项,如下面这个命令所示:
$hwinfo--short--block hwinfo Print Linux Hardware Information disk: /dev/sdaST1000LM024HN-M /dev/ram0Disk /dev/ram1Disk /dev/ram2Disk /dev/ram3Disk /dev/ram4Disk /dev/ram5Disk /dev/ram6Disk /dev/ram7Disk /dev/ram8Disk /dev/ram9Disk /dev/ram10Disk /dev/ram11Disk /dev/ram12Disk /dev/ram13Disk /dev/ram14Disk /dev/ram15Dis