Můžete sledovat v /sys
blokové zařízení pro daný název oddílu. Například /dev/sda1:
$ ls -l /sys/class/block/sda1
lrwxrwxrwx 1 root root /sys/class/block/sda1 -> \
../../devices/pci0000:00/.../ata1/host0/target0:0:0/0:0:0:0/block/sda/sda1
Skript, který převezme arg /dev/sda1
a vytiskněte /dev/sda
je:
part=$1
part=${part#/dev/}
disk=$(readlink /sys/class/block/$part)
disk=${disk%/*}
disk=/dev/${disk##*/}
echo $disk
Nemám lvm atd. k vyzkoušení, ale pravděpodobně existuje nějaká podobná cesta.
Existuje také lsblk
:
$ lsblk -as /dev/sde1
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sde1 8:65 1 7.4G 0 part
`-sde 8:64 1 7.4G 0 disk
a jak řekl @don_crissti, rodiče můžete získat přímo pomocí:
lsblk -no pkname /dev/sda1
Kde je nejnovější zdrojový kód příkazu man pro linux?
Přečtěte si /proc, abyste zjistili, zda proces otevřel port