Wir müssen uns nun einem weit verbreitetem Missverständnis, das sogar unter Unix-Benutzern herrscht, widmen. Es resultiert größtenteils aus der Annahme, dass Verweise, wie wir sie bislang kennen gelernt haben (fälschlicherweise ,,harte`` Verweise genannt), nur mit regulären Dateien verknüpft werden (wir haben gesehen, dass dies nicht der Fall ist - sogar symbolische Verweise werden ,,verknüpft``).
Zunächst müssen wir aber erklären, was symbolische Verweise sind. Symbolische Verweise sind Dateien eines bestimmten Typs, deren einziger Inhalt aus einer beliebigen Zeichenkette besteht, die auf eine eventuell existierende Datei verweist. Sollten Sie in einer Kommandozeile oder in einem Programm auf einen symbolischen Verweis zugreifen wollen, greifen Sie in Wirklichkeit auf die Datei zu, auf die verwiesen wird - sofern sie existiert. Folgendes Beispiel verdeutlicht dies:
$ echo Hallo >datei $ ln -s datei verweis $ ls -il total 4 169 -rw-rw-r-- 1 franz franz 6 Dez 10 21:30 datei 416 lrwxrwxrwx 1 franz franz 6 Dez 10 21:30 verweis -> datei $ cat datei Hallo $ cat verweis Hallo |
$ ln -s "Ich bin keine existierende Datei" weiterer_verweis $ ls -il weiterer_verweis 418 lrwxrwxrwx 1 franz franz 20 Dez 10 21:43 weiterer_verweis -> Ich bin keine existierende Datei $ cat weiterer_verweis cat: weiterer_verweis: No such file or directory $ |
ein Verweis zwischen Dateien auf unterschiedlichen Dateisystemen ist nicht möglich, da der Verweis-Zähler direkt im Inode gespeichert wird und Inodes nicht von mehreren Dateisystemen gemeinsam genutzt werden können, symbolische Verweise gestatten dies;
man kann nicht auf ein Verzeichnis verweisen, da, wie wir bereits gesehen haben, der Verweis-Zähler eines Verzeichnisses anderweitig genutzt wird; ein symbolischer Verweis ist aber ohne weiteres möglich.
Aus diesen Gründen sind symbolische Verweise also in vieler Hinsicht sehr nützlich, und man neigt dazu sie zu benutzen, auch wenn ein normaler Verweis ausreichen würde. Ein Vorteil der normalen Verweise ist, das Sie die Datei nicht verlieren, sollten Sie einmal das Original löschen.
Sollten Sie gut aufgepasst haben, können Sie jetzt zum Abschluss sagen, wofür die Größe eines symbolischen Verweises steht. Genau, es ist die Länge der Zeichenkette.