我需要检查 Linux 服务器的总体磁盘大小。是否有任何 shell 脚本可以查找总体磁盘大小。
例子:
serverA——分配了 5 个大小如下的磁盘
sda-100G sdb-200G sdc-200G sdd-500G sde-1TB
Linux 服务器的总磁盘大小为 2TB。运行 shell 脚本获取总大小 = 2TB
有人可以帮忙吗?
问候 SUBASH
答案1
确实有这样的命令!大多数 Linux 发行版都默认安装 DF(1):
df -h
该df
命令报告文件系统磁盘空间使用情况。-h
上面添加的选项指定打印的磁盘大小应使用“人性化”格式(例如,10G
而不是1000000000
)。
输出df -h
看起来应该像这样:
Filesystem Size Used Avail Use% Mounted on
udev 16G 0 16G 0% /dev
tmpfs 3.1G 940K 3.1G 1% /run
/dev/nvme0n1p1 7.6G 6.7G 993M 88% /
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/loop1 79M 79M 0 100% /snap/core/7399
/dev/loop2 16M 16M 0 100% /snap/amazon-ssm-agent/1334
/dev/loop3 16M 16M 0 100% /snap/amazon-ssm-agent/1454
/dev/nvme0n1p15 98M 122K 98M 1% /boot/efi
/dev/nvme1n1 984G 852G 88G 91% /data
/dev/nvme2n1 984G 358G 576G 39% /data2
/dev/loop4 79M 79M 0 100% /snap/core/7716
tmpfs 3.1G 0 3.1G 0% /run/user/1000
要了解更多有关df
您感兴趣的其他命令的信息,请使用手册页:
man df
编辑:感谢@HBruijn 在评论中指出文件系统占用的磁盘空间(通过 显示df
)和磁盘块设备大小不是一回事;对于块设备信息,请使用以下命令lsblk
:
lsblk -o NAME,UUID,SIZE,FSTYPE,TYPE,MOUNTPOINT
此命令默认是人性化的,您可以使用标志自定义输出的列-o
(通过运行发现列选项lsblk --help
)。对于上面指定的选项,我的机器读出:
NAME UUID SIZE FSTYPE TYPE MOUNTPOINT
loop1 78.5M squashfs loop /snap/core/7399
loop2 15.4M squashfs loop /snap/amazon-ssm-agent/1334
loop3 15.4M squashfs loop /snap/amazon-ssm-agent/1454
loop4 78.9M squashfs loop /snap/core/7716
nvme0n1 8G disk
├─nvme0n1p1 97edfc69-5417-46ce-b9a5-62bd731a4233 7.9G ext4 part /
└─nvme0n1p15 ED7D-760A 99M vfat part /boot/efi
nvme1n1 d1a6a2bb-8e53-4043-af05-f2e9ffa60c55 1000G ext4 disk /data
nvme2n1 b9d28a71-2d98-44a9-a37f-530effb88ba2 1000G ext4 disk /data2