從命令列尋找/檢查整個硬碟(所有分割區)的磁碟使用情況/利用率

從命令列尋找/檢查整個硬碟(所有分割區)的磁碟使用情況/利用率

我一直在尋找一個命令,可以為我提供整個硬碟(驅動器)的可用空間、已使用空間和空間利用率百分比。不幸的是,我可以在網路上找到的大多數答案都涉及分割區, 不是驅動器

(不確定是否相關,但我使用 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 拇指驅動器)的干擾?

相關內容