The*_*tor 18 partition busybox disk
我最近尝试使用一个极简的busybox 系统,但我发现了一个小问题:它没有lsblk
命令。是否有另一个命令可以列出磁盘、分区和大小,例如lsblk
?
一些也不起作用:
lsblk
lsusb
fdisk -l
cfdisk
Ram*_*esh 17
通过busybox的wiki页面,我看到它支持df
查找磁盘使用情况的命令。
你可以试试下面的命令。
df -h - 显示已挂载文件系统上的可用空间。
在busybox的手册页中,他们提供了如何使用该df
命令的示例。
但是,正如@nwildner 指出的那样,df 将显示已安装文件系统上的存储,而不是与分区相关的方案。要找到它,您可以检查以下文件。
cat /proc/partitions
Run Code Online (Sandbox Code Playgroud)
正如您所提到fdisk -l
的,上述文件可能不工作,其中可能包含分区信息。
测试
fdisk -l 在我的系统中产生以下输出。
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 9726 78019672+ 8e Linux LVM
Run Code Online (Sandbox Code Playgroud)
现在,如果我使用 cat ,我可以获得分区信息/proc/partitions
。输出是,
major minor #blocks name
8 0 78125000 sda
8 1 104391 sda1
8 2 78019672 sda2
253 0 78019156 dm-0
253 1 72581120 dm-1
253 2 5406720 dm-2
Run Code Online (Sandbox Code Playgroud)
主编号是 8,表示它是一个磁盘设备。次要的是您在同一设备上的分区。0 是整个磁盘,1 是主磁盘,2 是扩展磁盘,5 是逻辑分区。其余的当然是块大小和磁盘/分区的名称。
不确定是否是明智的建议,但您是否尝试sudo fdisk -l
查看它是否有效?
编辑#1
您也可以运行$ df -T
. 这是另一个不需要超级用户权限即可执行的命令。但是,这将为每个挂载点报告。
另一个可以派上用场的命令是# file -sL /dev/sdXY
. 这有一个缺点,它不适用于完整的块设备。需要传递确切的设备。虽然输出非常整洁:
参考
看起来其他回答者实际上并没有在 BusyBox 上进行测试。以下是在我的 initramfs 中对 BusyBox 起作用的唯一命令:
cat /proc/partitions
以块 (KiB) 为单位显示磁盘和分区大小
blkid
显示分区标签、UUID 和类型(EXT4、NTFS 等)