Sto cercando un modo portatile per ottenere il nome del dispositivo a blocchi parent (ad es. /dev/sda) Dato il nome del dispositivo di partizione (ad es /dev/sda1.). So che potrei semplicemente rilasciare l'ultimo personaggio, ma in alcuni casi non funzionerebbe:
- I lettori di schede MMC hanno in genere nomi simili
/dev/mmcblk0, mentre le loro partizioni hanno nomi simili/dev/mmcblk0p1(notare il supplementop). - opzionale: alcuni dispositivi a blocchi non hanno alcuna tabella delle partizioni e sono formattati come un'unica partizione. In questo caso, il dispositivo di partizione e il dispositivo di blocco padre sono gli stessi.
I volumi LVM sono un bollitore di pesce completamente diverso. Non ho bisogno di supportarli in questo momento, ma se prenderli in considerazione richiede un piccolo sforzo extra, non mi dispiacerebbe.
/dev/sda1e /dev/mmcblk0p1sono comunque specifici di Linux. lsblkè relativamente recente però.
lsblkutilizza anche i numeri di nodo del dispositivo per trovare quello corretto, invece di utilizzare semplicemente il nome. sembra che la soluzione più semplice per Linux e util-linux sarebbe probabilmente sempre disponibile comunque.
lsblk -dpno pkname $devnamesuperato tutti i miei test! Forse dovresti aggiungere una risposta.
/dev/sd0cin quel caso. Le risposte qui sotto funzionano per te?
/dev/sd0ama non c'è alcun/dev/sd0dispositivo (c'è un/dev/sd0c...)