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

Hallo an alle Profis,

ich verbeiße mich gerade in einen Satz in meinem Lehrbuch, über den ich schon eine zeitlang grübele, aber dessen Sinn sich mir bisher nicht erschließt (irgendwie habe ich da gerade eine Denkblockade.
Ich hoffe, dass mir einer von Euch den Satz in DAU-Deutsch übersetzen kann:

Unter Linux ist es möglich, dass mehrere Dateinamen auf dieselbe Datei verweisen. Technisch ist das leicht zu realisieren, wenn man sich klarmacht …,

…dass der Eintrag für eine Datei in einem Verzeichnis ja eigentlich nur ein Verweis auf die eigentlichen Daten der Datei enthält.

Zitat aus dem Buch “Linux-Server für Einsteiger” von Arnold Willemer. Sybex-Verlag, 2014

Mit dem zweiten Abschnitt habe ich meine Verständnisprobleme. Kann mir da einer bitte weiterhelfen?

Für die Antworten bedanke ich mich im Voraus.
GLG
Tichuspieler

(1 votes)
Loading...

Similar Posts

Subscribe
Notify of
6 Answers
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
guenterhalt
9 months ago

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.

TheQ86
9 months ago

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.

TheQ86
9 months ago
Reply to  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.

Sparrow75
9 months ago

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.