私はこれをまったく理解していないことがわかりました。 Linuxは、/dev/sd[a-z]
SATAおよびUSB(および他の多くの種類)ストレージデバイスを「検索」順にデバイスファイルにマップします。さて、CFフラッシュカードがSATAを介してコンピュータに接続されていることを知っていると仮定すると、どのデバイスファイルがあるのかをどうやって知ることができますか?もちろん、ただ見ることができますが、dmesg
プログラムでやりたい場合はどうすればいいですか?解析中ですか?これは良い解決策ではありません。カーネルはこの問題を解決するためにAPIを提供しなければならず、単純でなければならないと思います。しかし今まで私はそれを見つけることができませんでした。
今日、Linuxは、デバイスファイルを見つけるために必要な情報を取得できるファイルシステム(sysfs
、、、procfs
)に多くのシステム情報を記録しています。etc
ただし、これはコンパイル時に有効になる機能によって異なります。私はカラフルなfs要素なしで最小限のコアでも実行されるソリューションを探しています。
答え1
/dev/disk/
libudev APIを使用して、udevと対話する永続名または上位レベルのソフトウェアを使用できます。