我想知道是否有一种方法可以在没有 root (sudo) 的情况下获取 unix (debian) 系统的可用空间磁盘,并且如果可能的话,只需一个命令?
答案1
取决于您想要获得什么“自由空间”。
df
提供有关已安装文件系统的可用空间的信息,并且不需要 root:
$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 717M 0 717M 0% /dev
tmpfs 737M 0 737M 0% /dev/shm
tmpfs 295M 1,3M 294M 1% /run
/dev/mapper/fedora-root 17G 11G 5,4G 67% /
tmpfs 737M 9,5M 727M 2% /tmp
/dev/sda1 976M 285M 625M 32% /boot
如果您想知道每个磁盘上有多少可用/未分配空间(未被分区占用的空间),您需要使用类似parted
或 之类的工具fdisk
,并且需要 root 权限。lsblk
可以提供帮助,但它不会打印可用空间:
$ lsblk /dev/sdb
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 1G 0 disk
├─sdb1 8:17 0 100M 0 part
├─sdb2 8:18 0 512B 0 part
└─sdb3 8:19 0 100M 0 part
但您可以从其输出中假设sdb
这里有大约 800 MiB 的可用空间用于新分区。
您可以使用 UDisks 获得更好的了解,它还包含有关分区布局的信息,GNOME Disks 使用此数据来显示磁盘上的可用空间:
UDisks 没有简单的方法来显示它。你需要使用它的数据库总线接口并自行计算可用空间。