私のターゲットで最新のBusyBox v1.22.1を使用しています。stat -f
ファイルシステムタイプを使用または確認したいが、df -T
busyboxはこれらのコマンドをサポートしません。busybox help
showstat
コマンドはサポートされていますが、実行すると次のように表示されます。
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 help
実行することもできます。busybox stat
stat
busybox stat -fc %T /