Ansatzの備忘録

勉強したことあるいはふと思い立ったこと

シェルワンライナー160本ノック問題116

問題116 デバイスの番号調査

問題の意味を理解するところから始めなければならなかった。マシンから認識されているストレージのメジャー番号とマイナー番号を調べてデバイスファイルとの対応表を作る問題だった。メジャー番号とはハードウェアの種類を表し、マイナー番号で同種のものをさらに細かく分類しているらしい。

(参考)

第15回 udevを読む:ソースコード・リテラシーのススメ|gihyo.jp … 技術評論社

ストレージの類はブロックデバイスという種類のデバイスドライバとして実装されている。認識されているブロックデバイスはlsblkでも確認できるがブロックデバイスもデバイスファイルの一種である以上/dev以下に存在する。というわけで今回は/dev以下の情報を用いて調べていく。/sys以下にも同じような情報があるらしいがこちらは正直よくわからない。

解答例は

ls -l /dev | grep '^b' | awk '{print $NF,$5$6}'

となる。ただ手元のwsl2では何も表示されなかったのでそのうちlinuxの実機で確認したい。最後のprintでは$5$6とコンマを入れずに書いているが今回は$5の中身にコンマが含まれているので問題ない。