df und mountpoints

Heute mal ein ganz kurzes, ganz einfaches Kommando names "df" an Hand dessen ich ein etwas komplexeres Konzept ein wenig erklären will.

df steht für "disk free" und zeigt an, wieviel Platz auf deiner Festplatte noch frei oder schon belegt ist.

Wenn du df aufrufst bekommst du eine Ausgabe die etwa so aussehen könnte:
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/hdb6              1783483   1156249    535054  68% /
/dev/hdb2               297674    229462     52840  81% /old
/dev/hdb8              1176766   1102966     13020  99% /home
/dev/hda2              8649576    573056   7637144   7% /space

Das zeigt dir einerseits wie deine Festplatte aufgeteilt ist und welche Teile davon wo zugreiffbar sind und wieviel Platz dort ist und wieviel davon belegt ist. Z.B. sagt mir obige Ausgabe, dass ich: /dev/hda2 (die 2te Partition der ersten Harddisk ) unterhalb des Verzeichnisses /space "gemountet" habe und dass dort etwa 8Gigabytes Speicher vorhanden sind, wobei ich erst 7% davon belegt habe. (8 649 576 * 1024 bytes um genau zu sein) Um eine etwas leichter lesbare Form der Ausgabe zu bekommen kannst du folgenden Befehl verwenden:

df -h
(-h steht für "human readable")
Filesystem      Size  Used Avail Use% Mounted on
/dev/hdb6       1.7G  1.1G  522M  68% /
/dev/hdb2       291M  224M   52M  81% /old
/dev/hdb7       581M  327M  224M  59% /oldvar
/dev/hdb8       1.1G  1.1G   13M  99% /home
/dev/hda2       8.2G  560M  7.3G   7% /space
oder

df -m (in Megabytes)
Filesystem           1M-blocks      Used Available Use% Mounted on
/dev/hdb6                 1742      1129       522  68% /
/dev/hdb2                  291       224        52  81% /old
/dev/hdb7                  581       327       224  59% /oldvar
/dev/hdb8                 1149      1077        13  99% /home
/dev/hda2                 8447       560      7458   7% /space

/ ist die "rootpartiton". Dort wo alle Files drinnen sind, die nicht extra sonst wo auf einer anderen Partition (wie bei mir z.B. /home oder /space) gemountet sind.

Manche der Files können auch auf einem anderen Server im Netz sein. Manche Files sind auch nur scheinbare Files, z.B. alles unterhalb von /proc sind Files die nur von Linux vorgegaukelt werden und Einblick in interne Funktionen geben..)

Wir kennen also jetzt zwei Konzepte:

* auf der einen seite sind alle Files von / ausgehend einfach erreichbar. Man muss sich nicht darum kümmern, wo physisch ein File liegt. Man muss nur seinen "Pfad", also z.B. /home/sorglos/texte/blabla.txt kennen um es ansprechen zu können. Man benötigt nicht wie in Dos/Windows Laufwerksbuchstaben oder ähnliches...

* auf der anderen Seite zeigen uns Befehle wie df an, wo eine Datei tatsächlich liegt. Im obigen Beispiel wäre die Datei

/home/sorglos/texte/blabla.txt

auf dem device "/dev/hdb8" zu finden. Nach der im Linux üblichen Konvention wäre diese eine logische Partition auf der zweiten IDE Harddisk. Will ich eine dritte Festplatte einbauen kann ich das ohne weiteres tun und meine /home-Partition dorthin verschieben. df zeigt mir die neue Position an. Alle anderen Programme müssen sich darum aber nicht kümmern.


Was noch anzumerken bleibt: Ich sollte auf meiner /home Partition wieder mal einwenig aufräumen. da sind nur noch 13MB frei und das ist schon SEHR wenig...

wenn du den Befehl

mount

aufrufst, siehst du auch die Punkte an denen eigene Partitonen ins Filesystem eingehängt sind..

Wie man sowas macht (Teile mittels mount ins Filesystem reinhängen oder wieder entfernen) wird in einer späteren Folge erklärt

EXERCISES:

Benutze das df Kommando (eventuell mit df -m oder df -h) um zu schauen welche Dateisysteme und Partitionen es auf deinem Unix gibt und stelle damit fest, wieviel freier Platz auf der Partition ist, in der dein Homeverzeichniss liegt.


REFERENCES:
man df
df --help
man mount