GNU/Linux >> Tutoriels Linux >  >> Linux

Comment obtenir le nom du disque contenant une partition spécifique

Vous pouvez observer en /sys le périphérique bloc pour un nom de partition donné. Par exemple, /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 pour prendre l'argument /dev/sda1 et imprimez /dev/sda est :

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

Je n'ai pas lvm etc pour essayer, mais il y a probablement un chemin similaire.

Il y a aussi 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 

et comme @don_crissti l'a dit, vous pouvez obtenir le parent directement avec :

lsblk -no pkname /dev/sda1

Linux
  1. Comment remplacer un disque dur défaillant dans un RAID logiciel Linux

  2. Comment générer un mot de passe aléatoire sous Linux en utilisant /dev/random

  3. Linux :Différence entre /dev/console , /dev/tty et /dev/tty0 ?

  4. Quelle est la portabilité de /dev/stdin, /dev/stdout et /dev/stderr ?

  5. Comment encoder en base64 /dev/random ou /dev/urandom ?

Comment vérifier si un disque/partition est utilisé par Oracle ASM, a été utilisé par Oracle ASM ou n'est jamais utilisé par Oracle ASM

Comment déplacer /usr et /var vers une autre partition ou un autre disque

Comment échanger /dev/sda avec /dev/sdb ?

Quand dois-je utiliser /dev/shm/ et quand dois-je utiliser /tmp/?

Comment Linux utilise /dev/tty et /dev/tty0

echo ou print /dev/stdin /dev/stdout /dev/stderr