warum werden in Linux nicht Die Dateisysteme angezeigt mit "df -h"?


04.01.2024, 15:36

was ich zum Beispiel nicht verstehe ist das zum Beispiel /dev/sdb1 und /dev/sdb2 keine Dateisysteme sind sondern Datenträger. Die werden jedoch unter Dateisysteme aufgelistet und das bringt mich durcheinader

4 Antworten

df - report file system space usage

df hat im Kern die Aufgabe den freien Platz von Dateisystemen zu zeigen, wobei es zur Identifikation den mountpoint und das Gerät auf dem es liegt angibt.

Wenn Du andere Informationen willst, dann empfiehlt sich zum einen die man page zu lesen und vor allem das für die Aufgabe nützliche Werkzeug zu nutzen, von lsblk (zeigt Blockgeräte und deren Relation zueinander an), blkid (zeigt alle möglichen UUIDs und LABELs an), mount (zeigt detailierte Informationen zu den Mountpoints inklusive Mountoptionen).

Dazu bieten viele Werkzeuge Optionen, um ggf. weitere Informationen anzuzeigen.

Es gibt eben zu viele Dinge, die angezeigt werden könnten. Das ist dann so viel, dass es unübersichtlich wird.

Um sich die Dateisystem anzeigen zu lassen, hast du z.b. die Befehle

mount oder fdisk -l oder blkid

Wenn du selbst programmieren kannst, z.b. mit tkl, dann bastele dir ein Tool und stelle einen Report zusammen.

Woher ich das weiß:Berufserfahrung – openSuSE seit 1995

Doch, die werden da aufgelistet. Das sind deine Dateisysteme.

  • tmpfs ist ein Dateisystem, das im RAM läuft
  • /dev/sr0 ist eine CD/DVD
  • /cow ist ebenefalls im RAM, weil du anscheinend ein Live-System nutzt.
  • /dev/sdb1 und /dev/sdb2 sind zwei Datenträger, z. Bsp. USB-Sticks.
Woher ich das weiß:eigene Erfahrung – Nutze Linux täglich, sowohl auf Server als auch Desktop
Arielle48 
Fragesteller
 04.01.2024, 15:32

danke das verstehe ich aber was ich nicht verstehe ist das zum Beispiel /dev/sdb1 und /dev/sdb2 keine Dateisysteme sind sondern Datenträger. Die werden jedoch unter Dateisysteme aufgelistet und das bringt mich durcheinader

0
julihan41  04.01.2024, 15:44
@Arielle48

Daneben ist unter Linux "alles" eine Datei bzw. ein Verzeichnis. Sogar der Bildschirm. Die Unterscheidung zwischen externen Datenträger und internen ist eigentlich überflüssig. Das ist nur für uns Menschen hilfreich, damit wir wissen, was wir wo hin schreiben bzw. wieder vom PC abstecken können.

1
Arielle48 
Fragesteller
 04.01.2024, 15:47
@julihan41

unser Lehrer meinte : ermittelt der aktuelle Zustand des Dateisystems ---> also sowie ich es verstanden habe zeigt si belegter und benutzer Speicher sowie wo es gemountet ist. ?

0
julihan41  04.01.2024, 16:00
@Arielle48

Das ist ein Aspekt des Zustands eines Dateisystems.

Man kann natürlich noch weiter schauen und bspw. prüfen, ob das Dateisystem Fehler hat oder welche Dateitypen am meisten vertreten sind.

Die Frage ist sehr offen gestellt so ohne weiteres Wissen darüber, was ihr im Unterricht behandelt habt.

1
guenterhalt  04.01.2024, 17:06
@Arielle48

/dev/sdb1 , /dev/sdb2 ... oder auch /dev/sdf1 ... sind nur Dateien mit nur einigen Byte.
Für Linux ist der Type der Datei, eine sogenannte Majornummer und eine Minornummer wichtig. Daran erkennt Linux (also der Kernel) ob es bei dieser Datei wirklich im eine Datei, einen File, ein Verzeichnis, ... oder um eine Beschreibungsdatei für Partitionen handelt.
Führe den Befehl ls -l /dev/sdb1 aus und du wirst etwa so etwas wie

brw-rw---- 1 root disk 8, 17 4. Jan 16:12 /dev/sdb1

erhalten.
Das b am Anfang sagt, es ist ein Blockdevice oder eben eine Partition auf der Daten in Blöcken gespeichert werden können. Aus den Zahlen 8, 17, das sind die Major- und die Minor-Nummer erkennt der Kernel, wie mit diesem, damit beschriebenen Gerät umzugehen ist. Für dich als Benutzer ist sdb1 die Information 2. Festplatte (oder auch Stick) und 1. Partition.

Eine Filesystem-Kennung , also die Art der Formatierung taucht hier überhaupt nicht auf, das gehört nicht zur Geräte-Datei /dev/sdb1.
Die zugehörige Partition kannst du beliebig formatieren, ein Filesystem dort einrichten. Das kann fat, ntfs, vfat, reiserfs, ext3, ext4, btrfs, xfs ... sein.
Diese Informationen, wie auch die Größe einer Partition sind in der Partitionstabelle eines Datenträgers (Festplatte, SSD, USB-Memory-Stick, SD-Karte) zu finden.

Linux hangelt sich also Stück für Stück von einer Informationsquelle zur andern durch.
Genau so machen es die Basisbefehle wie

df

ls

oder auch mount ....

-------------

Ein Datenträger ist ein Gerät im Computer (Festplatte, SSD ...)
Eine Partition ist ein logisch abgetrennter Teil eines Datenträgers
(Microsoft nennt das ohne Unterscheidung Laufwerk)
Ein Filesystem ist die Art der Formatierung (z.B. wie wird von einem Sektor einer Festplatte auf den folgenden Sektor verwiesen, welche Sektoren, Abschnitte auf der Scheibe, gehören zu einem Verzeichnis einer Datei ...)

Eine Gerätedatei (/dev/sda ) beschreibt Typ und "Ort" des Datenträgers, wie auch die einzelnen Teile (Partitionen) /dev/sda1, /dev/sda2

Übrigens ist so ein Name /dev/sda1 ohne Belang. Man kann für /dev/sda1 auch den Namen /dev/meineToshibaPlattePartition1 vergeben.
Nur muss man dann auch immer wieder diesen Namen tippen.

Mache einfach mal ein ls -l /dev/disk/

Dort werden dir Verzeichnisse aufgelistet, die dann schon andere Namen haben.
by-label ist da interessant. Man kann jeder Partition einen sinnvollen Namen verpassen und muss sich nicht merken, dass /home auf /dev/sdc2 liegt.
.

mit Daten

0

Nun, -h steht für "human readable", bietet also nur eine bessere Lesbarkeit der Ausgabe von df.

Dateisysteme werden erst mit der Option -T "print file system type" angezeigt.

Alles weiter erfährst Du in den manpages zu df mittels

man df