ls (zeigt jedoch einzelne Partitionen an)

ls (zeigt jedoch einzelne Partitionen an)

Wie erhalte ich eine Liste aller Datenträger wie diese?

/dev/sda
/dev/sdb

Antwort1

ls (zeigt jedoch einzelne Partitionen an)

# ls /dev/sd*
/dev/sda  /dev/sda1

ls (nur Festplatten, Partitionen ignorieren)

# ls /dev/sd*[a-z]
/dev/sda

fdisk

# fdisk -l 2>/dev/null |awk '/^Disk \//{print substr($2,0,length($2)-1)}'
/dev/xvda

Antwort2

Sie können dfalle gemounteten Partitionen auflisten. Der Befehl gibt etwa Folgendes aus:

$ df
/dev/sda1      230467740  37314652 181422912  18% /
udev               10240         0     10240   0% /dev
tmpfs            5599420         0   5599420   0% /sys/fs/cgroup
/dev/sdb1      961303548 130106540 782342500  15% /media/Data
..

Wenn Sie nur Ihre gemounteten Festplatten auflisten möchten, können Sie die Ausgabe beispielsweise mit grep filtern

$ df | grep '^/dev'
/dev/sda1      230467740  37314752 181422812  18% /
/dev/sdb1      961303548 130106540 782342500  15% /media/Data

Dies passt zu Zeilen, die mit beginnen /dev, oder, wenn Sie nur die Namen möchten

df | grep -o '^/dev[^ ]*' 
/dev/sda1
/dev/sdb1

Dies gleicht Zeichenfolgen ab /devdem ersten Leerzeichen ab und gibt nur die Übereinstimmung aus (Option -o, --only-matching),

Bearbeiten

Oben werden alle Partitionen aufgelistet. Wenn Sie die Festplatten auflisten müssen, verwenden Sie lsblkstattdessen mit den folgenden Optionen (Mustervergleich wie oben)

$ lsblk -dp | grep -o '^/dev[^ ]*'
/dev/sda
/dev/sdb
  • -dlistet nur das Gerät auf, ohne Partitionen
  • -pgibt den gesamten Pfad aus

Bearbeiten 2

Wie erwähntunten, lsblk -dpno nameführt zum selben Ergebnis, kein Bedarf für grep.

verwandte Informationen