GNU/Linux >> Znalost Linux >  >> Linux

Skriptovatelný způsob identifikace N-tého oddílu disku?

Předpokládejme, že mám disk umístěný na /dev/DISK_NAME . Zajímalo by mě, jestli existuje příkaz k nalezení n oddíl tohoto disku.

Zdá se, že něco takového by mělo být možné pomocí lsblk . Nejlepší, co mohu vymyslet, je:

lsblk -nlpo NAME,TYPE /dev/DISK_NAME | awk '/part$/ {print $1}' | grep "[^0-9]n$"

Zde je n v posledním grep představuje číslo příslušného oddílu.

Výše uvedený příkaz funguje pro počítač arch linux, na kterém právě jsem, kde DISK_NAME=sda a výstup lsblk -nlpo NAME,TYPE je

/dev/sda  disk
/dev/sda1 part
/dev/sda2 part
/dev/sda3 part
/dev/sda5 part

Můj příkaz funguje také na mém počítači arch linux, kde DISK_NAME=nvme0n1 a výstup lsblk -nlpo NAME,TYPE je

/dev/nvme0n1   disk
/dev/nvme0n1p1 part
/dev/nvme0n1p2 part

Přesto mi to připadá poněkud otřepané a nejsem si jistý, zda by to fungovalo na libovolném disku.

Existují lepší způsoby, jak to udělat?

Přijatá odpověď:

Neexistuje žádná záruka, že sda1 vůbec existuje – mám SSD pouze s sda4 a sda5. Byl by tedy první oddíl oddíl s nejnižším startem LBA?

Nebo snad první záznam v tabulce oddílů? Podle 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

Který je první oddíl – je to 2 (který má nejnižší LBA) nebo je 1 (který má nejnižší číslo oddílu).

Pokud dáváte přednost starému fdisk -l příkaz, pak to seřadí tabulku oddílů za vás [tak, aby oddíly s nejnižším číslem byly první].


Linux
  1. Přednosti souborového systému bez oddílů?

  2. Jak synchronizovat pouze jeden oddíl?

  3. Nejrychlejší způsob, jak extrahovat Iso?

  1. Jak rozdělit disk v Linuxu

  2. Jak zkopírovat rozložení diskových oddílů celého disku pomocí standardních nástrojů?

  3. Jak zjistit, zda konkrétní systém potřebuje spouštěcí oddíl?

  1. Změna souborového systému kořenového oddílu po instalaci?

  2. Nejjednodušší způsob, jak sloučit / A /domů?

  3. Na jakém oddílu je nainstalován Bootloader?