unix fdisk: Ruft eine Gerätezeichenfolge ab, die das System kennt

415
experimenter

Ich bringe eine NTFS-Diskette an RHEL an.

Zum Einhängen muss ich den Namen der Partition kennen, den ich später im mountBefehl verwenden werde.

Ich muss einen String mit einem DeviceNamen bekommen, der weiß, wozu er Systemgehört.

fdisk -l 

Dieser Befehl gibt Folgendes zurück:

Disk /dev/sdb: 15.0 GB, 15032385536 bytes, 29360128 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk label type: dos Disk identifier: 0xdf77eb64  Device Boot Start End Blocks Id System /dev/sdb1 128 29358079 14678976 83 Linux  Disk /dev/sda: 31.5 GB, 31457280000 bytes, 61440000 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk label type: dos Disk identifier: 0x000c46d3  Device Boot Start End Blocks Id System /dev/sda1 * 2048 1026047 512000 83 Linux /dev/sda2 1026048 61439999 30206976 83 Linux  Disk /dev/sdc: 1862 MB, 1862270976 bytes, 3637248 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk label type: dos Disk identifier: 0xf9fa7844  Device Boot Start End Blocks Id System /dev/sdc1 128 3635199 1817536 7 HPFS/NTFS/exFAT 

Ich würde gerne eine Schnur bekommen /dev/sdc1, weil das System so istHPFS/NTFS/exFAT

Wie kann ich eine DeviceZeichenfolge erhalten und wissen, dass sie als formatiert werden soll HPFS/NTFS/exFAT?

0
Ein bisschen unklar, was Sie unter "Geräte-Boot-String" verstehen - ist es die UUID, die Sie suchen? Sie könnten vielleicht zusätzliche Einblicke gewinnen, wenn Sie 'lsblk' und `blkid 'ausführen. Das, worauf Sie sich beziehen, scheint die Geräte-IDs / dev / sda zu sein, bei der die erste Platte erkannt wurde und das Bit "sda1" auf die erste Partition verweist. `sdb` ist der zweite und so weiter. r0berts vor 7 Jahren 1
Wenn Sie jedoch erst nach dem Abrufen der Zeichenfolge / dev / sdc1 auf die Zeile mit NTFS zugreifen, können Sie Folgendes tun: `fdisk -l | grep NTFS | cut -f 1 -d "" ` r0berts vor 7 Jahren 0
@ r0berts Ich würde gerne eine Zeichenfolge "/ dev / sdc1" erhalten. Ich bin mir nicht sicher, welchen Namen es haben wird, wenn ich es das nächste Mal mache. Es könnte "/ dev / sdc2" oder etwas anderes sein. Das wichtigste für mich ist, einen Namen zu bekommen, der dem "NTFS" -System entspricht experimenter vor 7 Jahren 0
Schauen Sie sich `/ dev / disk / by-label /`, / dev / disk / by-partlabel / `usw. an und verwenden Sie diese zB in` / etc / fstab`. Sie wechseln nicht zwischen den Startvorgängen usw., und Sie sollten immer einen dieser Namen anstelle von `/ dev / sd * 'verwenden (die sich ändern können). dirkt vor 7 Jahren 1

1 Antwort auf die Frage

1
r0berts

OK, Sie möchten die Zeichenfolge aus der Ausgabe des Befehls extrahieren. Verwenden Sie die von UNIX beliebte Verkettung kleiner, einfacher Befehle auf diese Weise:

fdisk -l | grep NTFS | cut -f 1 -d " "

fdiskgibt die üblichen Informationen aus - wie Sie wissen. |ist ein Pipe-Symbol, das bedeutet, dass der nächste Befehl ausgegeben wird, nicht der Bildschirm. grepextrahiert dann nur die Zeilen, die NTFS enthalten, und cutextrahiert das erste Feld der Zeilen, wobei das Trennzeichen der Spalte Leerzeichen ist.