web-dev-qa-db-ja.com

ttyPS *のPSは何の略ですか?

TtyPS *のPSは何の略ですか?

一般に、/devの下のデバイスの拡張名はどこにありますか?

1
Alex

注:この回答はLinuxを想定しています

一般に、/ devの下のデバイスの拡張名はどこにありますか?

デバイスには「拡張名」はありませんが、

udevadm info -a /dev/ttyPSx

それらについての興味深い情報をたくさん教えてくれます。

Udevがない場合は、デバイスのタイプ、メジャー、マイナーを取得し、/sys/devで検索して、/sys/devices/ファイルから同じ情報を取得できます。

devinfo(){
    local p=$(readlink -f $(ls -l "$1" | sed 's@^\(.\)[^,]* \([0-9][0-9]*\), *\([0-9][0-9]*\).*@/sys/dev/\1*/\2:\3@'))
    while true; do
        case $p in
        /sys/devices/*)
           if [ -f "$p/uevent" ]; then
               echo ">>> $p"; cat "$p/uevent"; echo
           fi
           p=${p%/*};;
        *)
           break;;
        esac
    done
}

[Prompt] devinfo /dev/ttyMT1
>>> /sys/devices/soc/11003000.apuart1/tty/ttyMT1
MAJOR=204
MINOR=210
DEVNAME=ttyMT1

>>> /sys/devices/soc/11003000.apuart1
DRIVER=mtk-uart
OF_NAME=apuart1
OF_FULLNAME=/soc/apuart1@11003000
OF_COMPATIBLE_0=mediatek,mt6735-uart
OF_COMPATIBLE_N=1
MODALIAS=of:Napuart1T<NULL>Cmediatek,mt6735-uart

>>> /sys/devices/soc
OF_NAME=soc
OF_FULLNAME=/soc
OF_COMPATIBLE_0=simple-bus
OF_COMPATIBLE_N=1
MODALIAS=of:NsocT<NULL>Csimple-bus

注意:すべてのLinuxシステムに使用可能なstatawk、さらにはsedプログラムがあるわけではありません。このクラッジは、デスクトップ、ルーター、電話、ドライブレコーダーなど、一部のLinuxデバイスで機能するようです。古いアンドロイドでは、sedは壊れたPOSであり、echo pee | sed s/e/a/に対処することさえできません(papeeを出力します)。

1
pizdelect