![从命令行查找/检查整个硬盘驱动器(所有分区)的磁盘使用情况/利用率](https://linux22.com/image/169560/%E4%BB%8E%E5%91%BD%E4%BB%A4%E8%A1%8C%E6%9F%A5%E6%89%BE%2F%E6%A3%80%E6%9F%A5%E6%95%B4%E4%B8%AA%E7%A1%AC%E7%9B%98%E9%A9%B1%E5%8A%A8%E5%99%A8%EF%BC%88%E6%89%80%E6%9C%89%E5%88%86%E5%8C%BA%EF%BC%89%E7%9A%84%E7%A3%81%E7%9B%98%E4%BD%BF%E7%94%A8%E6%83%85%E5%86%B5%2F%E5%88%A9%E7%94%A8%E7%8E%87.png)
我一直在寻找一个命令,可以为我提供整个硬盘(驱动器)的可用空间、已用空间和空间利用率百分比。不幸的是,我可以在网上找到的大多数答案都涉及分区, 不是驱动器。
(不确定是否相关,但我使用 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/sda
for 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 拇指驱动器)的干扰?