使用 BusyBox 检查文件系统格式(stat -f 和 df -T 不起作用)

使用 BusyBox 检查文件系统格式(stat -f 和 df -T 不起作用)

我在我的目标中使用最新的 BusyBox v1.22.1。我想使用stat -f或检查文件系统类型df -T,但 busybox 不支持此类命令。busybox help显示stat命令受支持,但在执行时显示为

stat: not found.

如何使用 BusyBox 检查文件系统类型?

答案1

BusyBox 的很多组件都是可选的。根据编译时大小和功能之间的折衷,实用程序和选项可能可用也可能不可用。

在 Linux 上,您可以从 获取文件系统信息/proc。运行df -P /some/file以查找 的挂载点/some/file,然后在其中搜索/proc/mounts并提取文件系统类型。假设您有 awk 并且安装点中没有空格,以下命令将打印/some/file当前的文件系统类型:

</proc/mounts awk -v mount_point="$(df -P /some/file | awk 'NR==2 {print $6}')" '$2 == mount_point {print $3}'

答案2

您需要在构建之前启用stat和:du.config

CONFIG_DU=y
CONFIG_STAT=y

答案3

此外,busybox 命令可能并不总是具有指向 busybox 的符号链接,或者可能不在您的 PATH 中。在 RHEL6 上,“busybox stat -f /dev/XXXX”有效。

答案4

如果busybox help显示stat,则意味着小程序已实现。如果stat返回“未找到”,则可能只是未创建其链接busybox(并且 busybox 已配置为在调用小程序时执行文件)。

那么既然你能够运行busybox help,你也应该能够运行busybox stat作为以下的替代stat

busybox stat -fc %T /

相关内容