从命令行查找/检查整个硬盘驱动器(所有分区)的磁盘使用情况/利用率

从命令行查找/检查整个硬盘驱动器(所有分区)的磁盘使用情况/利用率

我一直在寻找一个命令,可以为我提供整个硬盘(驱动器)的可用空间、已用空间和空间利用率百分比。不幸的是,我可以在网上找到的大多数答案都涉及分区, 不是驱动器

(不确定是否相关,但我使用 Ubuntu,并且需要在 14.04 和 18.04 上使用此命令)

问题是这样的:

1)df -h仅提供有关分区的信息,而不是整个驱动器的信息 - 并包括内存中的文件系统tmpfs,例如我不需要的:

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            3.9G     0  3.9G   0% /dev
tmpfs           788M  2.2M  786M   1% /run
/dev/sdb6        59G   53G  3.3G  95% /
tmpfs           3.9G  183M  3.7G   5% /dev/shm
tmpfs           5.0M  8.0K  5.0M   1% /run/lock
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/loop0      112M  112M     0 100% /snap/dotnet-sdk/63
...
tmpfs           788M   20K  788M   1% /run/user/121
tmpfs           788M   64K  788M   1% /run/user/1000
/dev/sda1       230G  217G  1.4G 100% /media/testpart1
/dev/sda2       230G  150G   69G  69% /media/testpart2

只是为了好玩,尝试显式指定/dev/sdafor df- 但这不起作用:

$ df -h /dev/sda
Filesystem      Size  Used Avail Use% Mounted on
udev            3.9G     0  3.9G   0% /dev

...因为它给了我安装的尺寸udev

2)du -hs /适用于目录 - 所以它还包括 USB 驱动器或我可能安装在下面的任何其他驱动器/media

3)lsblk列出磁盘和相应的分区,但仅列出总可用大小/空间,而不列出已用空间或百分比(还包括 tmpfs 等,但可以通过在参数中针对磁盘的设备节点来抑制):

$ lsblk /dev/sda
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 465.8G  0 disk 
├─sda1   8:1    0 232.9G  0 part /media/testpart1
└─sda2   8:2    0 232.9G  0 part /media/testpart2

所以,我的问题是 - 如何找到单个硬盘驱动器的总可用大小/空间、已用大小/空间(以人类可读的单位,例如 MB、GB 等)以及使用率/利用率百分比(包括使用率)其所有分区)使用单个 Linux 命令行 - 不受 tmpfs 或其他安装系统(如 USB 拇指驱动器)的干扰?

相关内容