GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo obtener el nombre del disco que contiene una partición específica

Puedes observar en /sys el dispositivo de bloque para un nombre de partición dado. Por ejemplo, /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

Un script para tomar arg /dev/sda1 e imprime /dev/sda es:

part=$1
part=${part#/dev/}
disk=$(readlink /sys/class/block/$part)
disk=${disk%/*}
disk=/dev/${disk##*/}
echo $disk

No tengo lvm, etc. para probar, pero probablemente haya una ruta similar.

También hay 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 

y como dijo @don_crissti, puede obtener el padre directamente con:

lsblk -no pkname /dev/sda1

Linux
  1. ¿Cómo maneja Linux múltiples separadores de rutas consecutivas (/home////username///file)?

  2. ¿Qué tan portátiles son /dev/stdin, /dev/stdout y /dev/stderr?

  3. ¿Cuándo usar /dev/random Vs /dev/urandom?

  4. ¿Cómo montar este disco?

  5. Cómo verificar si un disco/partición está en uso por Oracle ASM, fue utilizado por Oracle ASM o nunca fue utilizado por Oracle ASM

¿Cómo codificar en base64 /dev/random o /dev/urandom?

¿Cómo obtengo un equivalente de /dev/one en Linux?

¿Cuándo debo usar /dev/shm/ y cuándo debo usar /tmp/?

Cómo usa Linux /dev/tty y /dev/tty0

hacer eco o imprimir /dev/stdin /dev/stdout /dev/stderr

¿Por qué se requieren < o > para usar /dev/tcp?