gpt4 book ai didi

linux - 在 linux 中获取硬盘的可用空间

转载 作者:IT王子 更新时间:2023-10-29 00:43:18 25 4
gpt4 key购买 nike

在 bash 脚本中,我需要获取整个磁盘的总磁盘大小和当前使用的大小。

我知道我可以使用此命令获得总磁盘大小而无需成为 root:

cat /sys/block/sda/size

此命令将输出设备 SDA 上的 block 数。将它乘以 512,您将得到该设备上的字节数。这对于总磁盘大小就足够了。

现在为当前​​使用的空间。我想在没有 root 的情况下获得这个值。我可以假设设备名称是 SDA。现在有这个命令:df我以为我可以使用这个命令,但似乎这个命令只输出当前挂载分区的数据。

有没有办法获得磁盘 SDA 上使用的总空间而无需成为 root 并且不需要挂载所有分区?

让我们假设以下示例:

/dev/sda1 80GB Linux partition 20GB Used
/dev/sda2 80GB Linux Home partition 20GB Used
/dev/sda3 100GB Windows Parition. 30GB Used

假设我的 SDA 磁盘像上面那样分区。但是当我在 Linux 上时,我的 Windows 分区 (sda3) 没有挂载。

df 的输出总计为 40 GB Used,因此不考虑 sda3。

又是这个问题:有没有一种方法可以无需 root 让我获得总计 70 GB 的已用空间?

最佳答案

我认为 stat 命令应该有所帮助。您可以从 /proc/partitions 获取分区。

示例 stat 命令输出:

$ stat -f /dev/sda1
File: "/dev/sda1"
ID: 0 Namelen: 255 Type: tmpfs
Block size: 4096 Fundamental block size: 4096
Blocks: Total: 237009 Free: 236970 Available: 236970
Inodes: Total: 237009 Free: 236386

关于linux - 在 linux 中获取硬盘的可用空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36596806/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com