Supongamos que tengo un disco ubicado en /dev/DISK_NAME
. Tengo curiosidad si hay un comando para encontrar el n
ª partición de este disco.
Parece que este tipo de cosas deberían ser posibles con lsblk
. Lo mejor que se me ocurre es:
lsblk -nlpo NAME,TYPE /dev/DISK_NAME | awk '/part$/ {print $1}' | grep "[^0-9]n$"
Aquí, el n
en el último grep representa el número de partición en cuestión.
El comando anterior funciona para la máquina Arch Linux en la que estoy actualmente, donde DISK_NAME=sda
y la salida de lsblk -nlpo NAME,TYPE
es
/dev/sda disk
/dev/sda1 part
/dev/sda2 part
/dev/sda3 part
/dev/sda5 part
Mi comando también funciona en mi máquina Arch Linux donde DISK_NAME=nvme0n1
y la salida de lsblk -nlpo NAME,TYPE
es
/dev/nvme0n1 disk
/dev/nvme0n1p1 part
/dev/nvme0n1p2 part
Aún así, esto se siente bastante extraño y no estoy seguro de si funcionaría en un disco arbitrario.
¿Existen formas mejores de hacerlo?
Respuesta aceptada:
No hay garantía de que sda1
existe en absoluto:tengo un SSD con solo sda4 y sda5. Entonces, ¿sería la primera partición la que tiene el LBA de inicio más bajo?
¿O tal vez la primera entrada en la tabla de particiones? Según parted -l
,
...
Number Start End Size File system Name Flags
2 316MB 333GB 333GB ext4 /mnt/backup
3 333GB 791GB 457GB ext4 /mnt/filestore
4 791GB 832GB 41.9GB ext4 /run/timeshift/backup
1 832GB 841GB 8590MB ext4 /mnt/music
¿Cuál es la primera partición? ¿Es 2? (que tiene el LBA más bajo) o es 1 (que tiene el número de partición más bajo).
Si prefiere el antiguo fdisk -l
entonces esto ordenará la tabla de particiones por usted [para que las particiones con el número más bajo sean las primeras].