GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Skriptfähige Methode zum Identifizieren der N-ten Partition einer Festplatte?

Angenommen, ich habe eine Festplatte unter /dev/DISK_NAME . Ich bin gespannt, ob es einen Befehl gibt, um den n zu finden te Partition dieser Festplatte.

Anscheinend sollte so etwas mit lsblk möglich sein . Das Beste, was mir einfällt, ist:

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

Hier das n im letzten grep steht für die betreffende Partitionsnummer.

Der obige Befehl funktioniert für die Arch-Linux-Maschine, auf der ich mich gerade befinde, wobei DISK_NAME=sda und die Ausgabe von lsblk -nlpo NAME,TYPE ist

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

Mein Befehl funktioniert auch auf meinem Arch-Linux-Rechner, auf dem DISK_NAME=nvme0n1 und die Ausgabe von lsblk -nlpo NAME,TYPE ist

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

Trotzdem fühlt sich das ziemlich hackig an und ich bin mir nicht sicher, ob es auf einer beliebigen Festplatte funktionieren würde.

Gibt es dafür bessere Möglichkeiten?

Akzeptierte Antwort:

Es gibt keine Garantie dafür, dass sda1 existiert überhaupt – ich habe eine SSD mit nur sda4 und sda5. Wäre die erste Partition also diejenige mit der niedrigsten Start-LBA?

Oder vielleicht der erste Eintrag in der Partitionstabelle? Gemäß 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

Welches ist die erste Partition – ist es 2 (das die niedrigste LBA hat) oder ist es 1 (die die niedrigste Partitionsnummer hat).

Wenn Sie das alte fdisk -l bevorzugen Befehl, dann wird dies die Partitionstabelle für Sie sortieren [so dass die Partitionen mit den niedrigsten Nummern zuerst kommen].


Linux
  1. Die Vorzüge eines partitionslosen Dateisystems?

  2. Möglichkeit, nur eine Partition zu synchronisieren?

  3. Der schnellste Weg, ein Iso zu extrahieren?

  4. Wie kann man feststellen, ob das spezifische System eine Boot-Partition benötigt?

  5. Der einfachste Weg, / und /home zusammenzuführen?

So erstellen Sie Partitionen unter Linux

Parted-Befehle zum Verwalten der Festplattenpartition

Einrichten einer LVM-Partition auf einem Linux-Server

Unter Linux ist alles eine Datei – Teil 2

So verschlüsseln Sie eine Partition unter Linux

So erstellen Sie Festplattenpartitionen unter Linux