Linuxserver-Administration - Links verweisen auf Dateien (Anfängerfrage)?

3 Antworten

ich mache es mal unwissenschaftlich.

Ein Verzeichnis (Directorie) enthält Namen von Dateien und sogenannte Metadaten wie die Besitzer-ID , die Zugrifsrechte , das Erstellungsdatum, das Datum der letzten Änderung, die Dateigröße. ....
Irgendwo muss natürlich auch der Inhalt stehen. Dafür ist ein Zeiger vorgesehen, der auf den Platz des ersten Segments der Datei in der Partition zeigt. (dort steht der Zeiger auf das nächste Segment usw.)

Wenn nun in dem Verzeichnis ein Datensatz mit einem anderen Namen vorhanden ist , der dort vorhanden Zeiger aber auf genau das erste Segment der ersten Datei zeigt, dann kann man, egal welchen Namen man aufruft, den gleichen Inhalt sehen oder auch modifizieren ...

Das ist natürlich so organisiert, das beim Löschen der Datei erst mal alle Mehrfach-Namen gelöscht werden. Erst wenn der letzte Name an der Reihe ist, wird auch der Zeiger auf das erste Segment freigegeben, die Datei ist (logisch) weg.

Übrigens: so etwas ist in Microsoft-Filesystemen nicht vorgesehen, daher kann man nur bedingt Linux-Programme auf NTFS oder FAT laufen lassen.

Die Zeiger werden auch als inode bezeichnet.

Woher ich das weiß:Berufserfahrung – openSuSE seit 1995

Ein Dateisystem ist nichts anderes als eine Art und Weise den Speicher zu strukturieren. Aus Sicht des Datenträgers ist so ein Gerät einfach nur ein Block von Nullen und Einsen.

Ein Dateisystem gibt nun vor, wie Dateien auf diesem Datenträger organisiert sind. Eine häufige Art und Weise ist, einen Teil des Speicherplatzes als "Inhaltsverzeichnis" zu verwenden und darin zu speichern, wo auf dem Datenträger welche Datei ist.

In Linux bekommt jede Datei in diesem Inhaltsverzeichnis eine sogenannte inode. Das ist ihr interner und eindeutiger Bezeichner.

Jeder Dateiname, den man einer Datei gibt verweist erstmal auf diese inode. Du kannst mehrere Dateinamen der selben inode zuordnen.

Woher ich das weiß:Berufserfahrung – Berufserfahrung

Tichuspieler 
Beitragsersteller
 23.06.2024, 16:11

Hallo TheQ86,

danke erst einmal für Deine Antwort.

Eine häufige Art und Weise ist, einen Teil des Speicherplatzes als "Inhaltsverzeichnis" zu verwenden und darin zu speichern, wo auf dem Datenträger welche Datei ist.

Ich versuche mal, diese Aussage für mich so auseinanderzuklabüstern, wie ich es gerade verstehe, Wenn ich da einen Denkfehler habe, wäre es lieb, wenn Du mich von diesem wegführst hin zur richtigen Bedeutung;

Nehmen wir einmal einen 16 GB großen USB-Stick. Dieser ist mit FAT32 formatiert, so dass - sagen wir mal - 14,8 GB "Speicherplatz zur freien Verfügung" stehen.

Angenommen, ich würde jetzt Textdateien erstellen, in der ich pro Textdatei eines meiner Brettspiele aufführe, wie jetzt zum Beispiel welches Genre, wie viele Mitspieler, die Spieldauer und dies dann unter Spieltitel.docx abspeichere (ist jetzt ein simples Beispiel, ich weiß, aber ich versuche es für mich zu begreifen).

Wenn ich Deine Erklärung richtig verstehe, gibt es bei den 14,8 GB noch einen kleinen (?) Bereich von vielleicht 1 MB (Zahl aus der Luft gegriffen), in der vom Computer eingetragen wird, welche Dateinamen es gibt und an welcher Position sie zu finden sind. Das ist dieser inode.

Und wenn ich jetzt einen Dateinamen in einem Verzeichnis angebe, dann springt er sozusagen in diesen 1MB-Speicher und schaut nach, an welcher Position sich diese Datei befindet.

Ist das damit gemeint?

TheQ86  23.06.2024, 16:22
@Tichuspieler

Ja, genau. Die Festplatte/SSD ist ja erstmal nur ein "dummer" Speicher. Der speichert eben Bytes.

Wie diese Bytes zu interpretieren sind ist Aufgabe des Dateisystems. Die Informationen, wie eine Datei heißt und wo sie zu finden ist, ist selbst eine Information, die irgendwo im Speicher abgelegt werden muss. Solche Daten, die andere Daten beschreiben, nennt man auch Metadaten.

Tichuspieler 
Beitragsersteller
 23.06.2024, 16:23
@TheQ86

Ah! Okay. Das hilft mir sehr gut weiter. Vielen lieben Dank für Deine hilfreiche Antwort und die Mühe, die Du Dir damit gegeben hast :-)

Jede datei oder verzeichnis hat eine inode

Diese Inode ist quasi ein "Zeiger" im Dateisystem wo der Inhalt auf dem Datenträger gefunden werden kann.