linux 命令监测,九款命令行实用工具助你监测Linux磁盘分区及使用情况

我们在本文中将介绍多款Linux命令行实用工具,你可以用它们在Linux下检查磁盘分区。

4d94a9ed616fd7deba1bf02dde26ed5e.png

监测一个或多个存储设备的空间使用情况是系统管理员最重要的任务之一,这有助于确保存储设备上仍有足够的闲置空间,以便高效地运行Linux系统。

一、打印输出Linux磁盘分区表的命令行实用工具

1. fdisk(固定磁盘)命令

fdisk是一款功能强大、广受欢迎的命令行工具,可用于创建和处理磁盘分区表。

它支持GPT、MBR、Sun、SGI和BSD等格式的分区表。你可以通过它易于使用、基于文本、菜单驱动的界面来运行fdisk命令,从而显示、创建、调整、删除、修改、拷贝和移动存储磁盘上的分区。

下面这个fdisk命令将打印输出所有已挂载块设备的分区表:

$ sudo fdisk -l

fdisk – List Linux Disk Partition Table

Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors

Units: sectors of1 * 512 = 512 bytes

Sector size(logical/physical): 512 bytes / 4096 bytes

I/O size(minimum/optimal): 4096 bytes / 4096 bytes

Disklabel type: gpt

Disk identifier: 82213CA8-50E4-4DDB-9337-85E46DA03430

Device Start EndSectorsSizeType

/dev/sda1 2048 2050047 2048000 1000M Windows recovery environment

/dev/sda2 2050048 2582527 532480 260M EFI System

/dev/sda3 2582528 4630527 2048000 1000M Lenovo boot partition

/dev/sda4 4630528 4892671 262144 128M Microsoft reserved

/dev/sda5 4892672 1173295103 1168402432 557.1G Microsoft basic data

/dev/sda6 1870348288 1922777087 52428800 25G Microsoft basic data

/dev/sda7 1922777088 1953523711 30746624 14.7G Windows recovery environment

/dev/sda8 1173295104 1173297151 2048 1M BIOS boot

/dev/sda9 1173297152 1181110271 7813120 3.7G Linux swap

/dev/sda10 1181110272 1870348287 689238016 328.7G Linux filesystem

Partition tableentries arenotindiskorder.

想了解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磁盘标签创建标准的系统分区。

$ sudo sfdisk -l

sfdisk – Check Linux Disk Partition Table

Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors

Units: sectors of1 * 512 = 512 bytes

Sector size(logical/physical): 512 bytes / 4096 bytes

I/O size(minimum/optimal): 4096 bytes / 4096 bytesDisklabel type: gpt

Disk identifier: 82213CA8-50E4-4DDB-9337-85E46DA03430

Device Start EndSectorsSizeType

/dev/sda1 2048 2050047 2048000 1000M Windows recovery environment

/dev/sda2 2050048 2582527 532480 260M EFI System

/dev/sda3 2582528 4630527 2048000 1000M Lenovo boot partition

/dev/sda4 4630528 4892671 262144 128M Microsoft reserved

/dev/sda5 4892672 1173295103 1168402432 557.1G Microsoft basic data

/dev/sda6 1870348288 1922777087 52428800 25G Microsoft basic data

/dev/sda7 1922777088 1953523711 30746624 14.7G Windows recovery environment

/dev/sda8 1173295104 1173297151 2048 1M BIOS boot

/dev/sda9 1173297152 1181110271 7813120 3.7G Linux swap

/dev/sda10 1181110272 1870348287 689238016 328.7G Linux filesystem

Partition tableentries arenotindiskorder.

想了解更多用法,请参阅sfdisk的参考手册页。

3. cfdisk(curses fdisk)命令

cfdisk是个简单程序,可用于打印输出和管理磁盘分区。它借助易于使用的界面提供了基本的分区功能。你可以使用类似功能比较强大的命令fdisk和sfdisk让用户可以查看、添加、删除和修改硬盘分区。

使用向右箭头和向左箭头来移动菜单标签上的高亮部分。

$ sudo cfdisk

cfdisk – Print Linux Disk Partition Table

Disk: /dev/sda

Size: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors

Label: gpt, identifier: 82213CA8-50E4-4DDB-9337-85E46DA03430

Device Start EndSectorsSizeType

>> Freespace2048 2048 0 0B

/dev/sda1 2048 2050047 2048000 1000M Windows recovery environm

/dev/sda2 2050048 2582527 532480 260M EFI System

/dev/sda3 2582528 4630527 2048000 1000M Lenovo boot partition

/dev/sda4 4630528 4892671 262144 128M Microsoft reserved

/dev/sda5 4892672 1173295103 1168402432 557.1G Microsoft basic data

/dev/sda6 1870348288 1922777087 52428800 25G Microsoft basic data

/dev/sda7 1922777088 1953523711 30746624 14.7G Windows recovery environm

/dev/sda8 1173295104 1173297151 2048 1M BIOS boot

/dev/sda9 1173297152 1181110271 7813120 3.7G Linux swap

/dev/sda10 1181110272 1870348287 689238016 328.7G Linux filesystem

┌────────────────────────────────────────────────────────────────────────────┐

│ Filesystem: ntfs │

│Filesystem label: WINRE_DRV │

└────────────────────────────────────────────────────────────────────────────┘

[ New ] [ Quit ] [ Help ] [ Sort ] [ Write ] [ Dump ]

4. parted命令

parted也是一种知名的命令行工具,可用于显示和处理磁盘分区。它识别多种分区表格式,包括MBR和GPT。

parted可用于为新的分区创建空间,重新整理磁盘使用情况,将数据拷贝到新的硬盘,等等。

$ sudo parted -l

parted – A Partition Manipulation Tool

Model: ATA ST1000LM024 HN-M (scsi)

Disk /dev/sda: 1000GB

Sector size(logical/physical): 512B/4096B

Partition Table: gpt

Disk Flags:

Number Start EndSizeFile systemNameFlags

1 1049kB 1050MB 1049MB ntfs Basic data partition hidden, diag

2 1050MB 1322MB 273MB fat32 EFI system partition boot, hidden, esp

3 1322MB 2371MB 1049MB fat32 Basic data partition hidden

4 2371MB 2505MB 134MB Microsoft reserved partition msftres

5 2505MB 601GB 598GB ntfs Basic data partition msftdata

8 601GB 601GB 1049kB bios_grub9 601GB 605GB 4000MB linux-swap(v1)

10 605GB 958GB 353GB ext4

6 958GB 984GB 26.8GB ntfs Basic data partition msftdata

7 984GB 1000GB 15.7GB ntfs Basic data partition hidden, 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:MINRMSIZERO TYPE MOUNTPOINT

sda 8:0 0 931.5G 0 disk

├─sda1 8:1 0 1000M 0 part

├─sda2 8:2 0 260M 0 part

├─sda3 8:3 0 1000M 0 part

├─sda4 8:4 0 128M 0 part

├─sda5 8:5 0 557.1G 0 part

├─sda6 8:6 0 25G 0 part

├─sda7 8:7 0 14.7G 0 part

├─sda8 8:8 0 1M 0 part

├─sda9 8:9 0 3.7G 0 part [SWAP]

└─sda10 8:10 0 328.7G 0 part /

sr0 11:0 1 1024M 0 rom

6. blkid(块ID)命令

blkid这个实用工具可找到或者显示块设备的属性(NAME=值对),比如设备或分区名称、标签、文件系统类型及其他。

$ blkid

blkid – Print Block Device Attributes

/dev/sda1: LABEL="WINRE_DRV"UUID="D4A45AAAA45A8EBC"TYPE="ntfs"PARTLABEL="Basic data partition"PARTUUID="dcc4de2d-8fc4-490f-85e0-50c2e18cc33d"

/dev/sda2: LABEL="SYSTEM_DRV"UUID="185C-DA5B"TYPE="vfat"PARTLABEL="EFI system partition"PARTUUID="b13c479a-d63b-4fec-9aee-f926fe7b0b16"

/dev/sda3: LABEL="LRS_ESP"UUID="0E60-2E0E"TYPE="vfat"PARTLABEL="Basic data partition"PARTUUID="d464feab-0791-4866-a36b-90dbe6d6a437"

/dev/sda5: LABEL="Windows8_OS"UUID="18D0632AD0630CF6"TYPE="ntfs"PARTLABEL="Basic data partition"PARTUUID="8a66bd5b-8624-4fdb-9ad8-18d8cd356160"

/dev/sda6: LABEL="LENOVO"UUID="9286FFD986FFBC33"TYPE="ntfs"PARTLABEL="Basic data partition"PARTUUID="92fbbea9-6bcd-4ae5-a322-c96a07a81013"

/dev/sda7: LABEL="PBR_DRV"UUID="ECD06683D066543C"TYPE="ntfs"PARTLABEL="Basic data partition"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命令,使用-- 这个选项,列出指定类型的所有硬件项(这里是磁盘等块设备及其分区)。

如果只想获得摘要信息,请使用-- short选项,如下面这个命令所示:

$ hwinfo--short --block

hwinfo – Print Linux Hardware Information

disk:

/dev/sda ST1000LM024 HN-M

/dev/ram0 Disk

/dev/ram1 Disk

/dev/ram2 Disk

/dev/ram3 Disk

/dev/ram4 Disk

/dev/ram5 Disk

/dev/ram6 Disk

/dev/ram7 Disk

/dev/ram8 Disk

/dev/ram9 Disk

/dev/ram10 Disk

/dev/ram11 Disk

/dev/ram12 Disk

/dev/ram13 Disk

/dev/ram14 Disk

/dev/ram15 Disk

partition:

/dev/sda1 Partition

/dev/sda2 Partition

/dev/sda3 Partition

/dev/sda4 Partition

/dev/sda5 Partition

/dev/sda6 Partition

/dev/sda7 Partition

/dev/sda8 Partition

/dev/sda9 Partition

/dev/sda10 Partition

cdrom:

/dev/sr0 PLDS DVD-RW DA8A5SH

确保hwinfo工具已安装在你的系统上,那样才能获得上述结果。

二、Linux下监测磁盘空间使用情况的命令行实用工具

下面介绍了用于监测Linux磁盘空间使用情况的几个命令行实用工具。

8. df(磁盘文件系统)命令

df在终端上打印输出文件系统磁盘空间使用情况方面的摘要信息。在下面这个命令中,-hT参数选项符可报告文件大小、已用空间、可用空间和已用空间百分比,采用了人类可读的格式。

$ df -hT

df – Show Linux Disk Space Usage

Filesystem TypeSizeUsed Avail Use% Mountedon

udev devtmpfs 3.9G 0 3.9G 0% /dev

tmpfs tmpfs 788M 9.6M 779M 2% /run

/dev/sda10 ext4 324G 132G 176G 43% /

tmpfs tmpfs 3.9G 86M 3.8G 3% /dev/shm

tmpfs tmpfs 5.0M 4.0K 5.0M 1% /run/lock

tmpfs tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup

cgmfs tmpfs 100K 0 100K 0% /run/cgmanager/fs

tmpfs tmpfs 788M 32K 788M 1% /run/user/1000

9. pydf(Python df)命令

pydf是一款杰出的Python命令行实用工具,也是Linux下可替代df的优秀工具。它使用不同颜色来高亮显示具有特定属性的磁盘分区。

$ pydf

pydf – Show Colourised Linux Disk Space Usage

FilesystemSizeUsed Avail Use% Mountedon

/dev/sda10 323G 132G 175G 40.7 [######################................................] /

确保pydf实用工具已安装在系统上;要是未安装,请参阅《安装pydf工具来监测Linux磁盘使用情况》(http://www.tecmint.com/pyd-command-to-check-disk-usage/)。

三、如果磁盘/分区在Linux下快用完空间,该怎么办?

一旦你认识到你的任何存储磁盘快用完空间或者已满,应该:

首先,使用任何一款Linux系统备份工具,对系统上的所有重要文件作一个备份。

下一步,使用du命令,检查哪些文件或目录在一个或多个磁盘上占用的空间量最大。

然后,借助rm命令,从一个或多个存储磁盘上删除不再重要或你在将来不会使用的任何文件,也可以使用fslint工具,找到并删除Linux下不需要的文件。

如果你的根分区快满了,可以使用LVM调整根分区大小,它用起来应该很简单。

注意:万一你删除了任何重要文件,可以恢复在Linux下删除的文件。

我们在本文中介绍了多款有用的命令行实用工具,可用来显示存储磁盘分区表,并监测磁盘使用情况。

我们有没有落下具有同样用途的任何重要的命令行实例工具?欢迎留言交流!

原文标题:9 Tools to Monitor Linux Disk Partitions and Usage in Linux,作者:Aaron Kili

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值