Viele Kopie, viele Originale

Dass man digitale Daten einfach und verlustfrei kopieren kann, prägt das ganze Zeitalter.

Beim Besuch bei einem Freund ist mir aber aufgefallen, dass viele Benutzer diese Eigenschaft überstrapazieren. Mein Freund wollte eine Datei mit wichtigen Dokumenten im OneDrive gespeichert haben – für alle Fälle. Er behielt aber eine Kopie davon am Desktop. Davor habe ich ihn gewarnt, denn jede Änderung, die er bei der einen Datei ausführt, muss man bei der zweiten Version auch ausführen und da sieht man schon, was das bei unachtsamen Kopieren von Dateien für ein Problem darstellen kann.

Besser zwei Backups von einer Datei als zwei bearbeitbare Duplikate!

Feste Ordnung statt flexible Ordnung durch Links

Die von Microsoft vorgegebene Ordnung der Ordner auf jedem Windows-Desktop dieser Welt in “Dokumente”, “Bilder”, “Musik” und “Video” ist zwar eine Möglichkeit, seine Daten zu ordnen – und es für eine Video- oder Audio-Sammlung nahe liegend – aber bei Projekten schaut das wieder anders aus. Ich arbeite projektorientiert. Es gibt die großen Gruppen “clubcomputer”, “pcnews”, “schule”, “fußball”, “privates”. Und in jeder dieser Großgruppen gibt es kleinere Projekte, alle mit einem Gemisch von Dateitypen.

Viele dieser Dateien sind aber gleichzeitig Teil einer Mediensammlung aus der Windows-Ordnung und auch gleichzeitig Teil des Projekte. Fertigt man daher eine Kopie für das Projekt an, muss man ab sofort zwei Versionen verwalten, weil man Bearbeitungen an beiden Orten durchführen muss.

Unser Dateisystem ist (computer)steinzeitlich

Dateien und Ordner in Ordnern zu speichern entspricht der Ordnung eines Bücherschranks. Probleme treten auf, wenn man nicht so recht weiß, wo man ein Buch einordnen soll, es also zwei geeignete Speicherorte gibt. Wieder wird man dazu verleitet – weil es am PC einfach möglich ist – eine Kopie anzufertigen und das Buch zwei Mal zu speichern; keine gute Idee, ganz abgesehen vom Speicherplatzbedarf.

Ein modernes Dateisystem müsste datenbankbasiert sein. Jedes Objekt wird nur einmal gespeichert; und es ist egal, wo das schließlich ist. Es wird nie kopiert oder verschoben. Es bleibt immer an seinem Platz. Ob es in einem bestimmten Ordner aufscheint, bestimmen Markierungen (Labels), die es dort sichtbar machen. Löscht man eine solche Markierung, verschwindet das Dokument zwar aus dem Ordner, ist aber nicht gelöscht. Auf der Festplatte existiert es weiterhin.

Ein sehr verbreitetes Beispiel für datenbankbasierte Ordnungssysteme ist Google Mail. Bei Google Mail kann man jeder Nachricht ein oder mehrere Label zuordnen. Die Nachricht erscheint dann in mehreren Kategorien gleichzeitig. Ein anders Beispiel sind MediaPlayer, die mehrere Sichtweisen derselben Dateien erlauben, weil sie sich an Einträgen in der Datei orientieren.

Ganz schwierig wird es aber, wenn man ursprünglich entschieden hat, eine Festplatte für eine bestimmte Aufgabe zu reservieren (Musik, Video…), es sich aber im Laufe der Zeit herausstellt, dass zuwenig Platz ist. Gut, man speichert dann den Überlauf oder einen bestimmten Teilbereich dieser Sammlung auf einem anderen Laufwerk, aber welches der beiden Teile man auch im Explorer betrachtet, es ist nur ein Teil und nicht das Ganze. Verknüpfungen sind hier keine so große Hilfe, bestenfalls eine Erinnerung daran, dass es anderswo auch noch Daten gibt.

Wir werden sehen, dass es in Windows ein Konzept für verschiedene Formen von Links gibt, um Speicherbereiche zusammenzufügen, ohne auch nur eine Datei zu kopieren.

Regel

Ein mehrfach benötigtes Objekt sollte nur einmal gespeichert sein aber in allen Ordnern, an denen es benötigt wird, aufscheinen. Datenbankbasierte Systeme können das von vornherein, bei unserem Betriebssystem muss man sich mit Verknüpfungen (Links) behelfen.

Bezeichnung

Wir stellen jetzt die Methoden vor, die in Windows die Mängel des ordnerbasierten Dateisystems beheben helfen. Diese Behelfe sind ständig weiterentwickelt worden und reichen bis in die Zeit von Windows 95 zurück. Immer geht es darum, dass ein Objekt (Ordner oder Datei) durch ein stellvertretendes Objekt (Verknüpfung oder Link) dargestellt wird. Da es bereits vier solcher Konstrukte gibt, besteht eine gewisse Schwierigkeit, diese sehr ähnlichen Methoden auseinander zu halten.

Es gibt vier Verfahren, gereiht nach dem Einführungszeitpunkt):

  • Verknüpfung (Shortcut)
  • Hardlink
  • Softlink (Junction)
  • Symbolischer Link

Alles sind “Links” und unterscheiden sich weniger in ihrer Wirkung als in ihrer technischen Realisierung. Die ausgereifteste Implementierung ist der symbolische Link. Wen also die älteren Verfahren nicht im Detail interessieren, kann gleich beim letzten Punkt weiterlesen.

Verknüpfung (seit Windows 95)

Eine sehr alte Lösung für das beschriebene Problem sind Verknüpfungen. Eine Verknüpfung ist eine kleine Datei mit einem Hinweis darauf, wo sich ein bestimmtes Objekt befindet; also eine Pfadangabe. Der Pfad kann sich auf einen Ordner oder auf eine Datei beziehen.

In diesem Ordner sind 3 Objekte und 4 Verknüpfungen. Das Pfeilsymbol ist ein Hinweis darauf, dass es sich hier um einen Link und nicht um die Daten selbst handelt. Diese Verknüpfungen kann man also gefahrlos löschen, denn das Original bleibt erhalten. Dennoch sollte man beim Löschen vorsichtig sein, denn bei intensiver Benutzung kann man leicht den Überblick über den Speicherort des Originals verlieren.

Man kann eine Verknüpfung auf zwei Arten anlegen: Entweder über das Kontext-Menü über dem Objekt oder über das Kontextmenü über einen leeren Platz am Desktop. In dieser zweiten Variante kann man auch eine Internet-Verknüpfung anlegen. Über die Kommandozeile kann man eine Verknüpfung nicht anlegen.

Interessant ist, dass die Namen des Objekts und der Verknüpfung in der Windows-Ansicht gleich sind und trotzdem am selben Ort gespeichert sind. Wenn man den Inhalt des Ordners in der Eingabeaufforderung betrachtet, sieht man, dass den Verknüpfungen die Endungen .lnk und .url nachgestellt werden.

Wir sollten diese Verknüpfungen nicht gering schätzen, nur weil sie alt sind. Es ist eine beachtliche Eigenschaft des Betriebssystems, dass man die jeweiligen Original-Bild und Original-Ordner auch an einen anderen Ort verschieben kann. Die Verknüpfungen bleiben immer intakt, auch dann wenn die Objekte auf andere Laufwerke verschoben werden.

Verknüpfungen zu Ordnern haben den Nachteil, dass des Ordner, in dem sich die Verknüpfung befindet, verlassen wird und der Pfad sich auf den Zielordner verändert und das stört bei Arbeiten an einem Projekt, bei dem man den geöffneten Browser immer gerne im Projektordner hat.

Alle folgenden Verfahren können im Gegensatz zur Verknüpfung ausschließlich durch das Kommando mklink über die Kommandozeile angelegt werden.

Hardlink (seit Windows 3.5)

Mit einem Hardlink kann einen festen Verweis auf eine Datei erstellen (nicht auf einen Ordner).

mklink /h img_2_hardlink.jpg img_2.jpg

In der Kommandozeilenansicht kann man nicht erkennen welche der beiden Dateien eigentlich der Hardlink ist, wenn es nicht – wie im obigen Beispiel – im Namen gekennzeichnet worden wäre.

Allerdings kann man diese Hardlink-Eigenschaft im Eigenschaften-Fenster jeder der beiden Dateien erkennen, wie man im folgenden Bild sieht:

Es entsteht ein neuer Reiter mit dem Namen “Link-Eigenschaften” und in der “Hardlink Auflistung” werden alle Vorkommen eines Hardlinks angeführt. Es können also mehrere sein. Und vor allem kann man in keiner Weise unterschieden, welcher dieser Einträge das Original ist und welcher der Link. Sobald der letzte dieser Verzeichniseinträge gelöscht ist, verschwindet dieser zusätzliche Reiter und der letzte dieser Einträge ist wieder so wie der eine einzelnen Datei.

Hardlinks gibt es nur für Dateien und auch nur am selben Laufwerk. Man löscht sie wie man eine einzelne Datei löscht. Da man aber nicht eindeutig sehen kann, ob man hier eine Datei löscht oder einen Hardlink, fehlt – nach meiner Ansicht – ein expliziter Hinweis darauf, was hier gelöscht wird.

Softlink (Junction) (seit Windows 2000)

Ein Softlink ist eine Art Ergänzung zum Hardlink, weil er nämlich auf ein Verzeichnis (und nicht wie der Hardlink auf eine Datei) zeigt.

mklink /j softlink bilder

Dieses Objekt softlink wird als JUNCTION markiert, man kann also in der Kommandozeilenansicht erkennen, dass es sich hier nur um einen Link handelt.

In Windows erkennt man keinen Unterschied zwischen Ordner Bilder und dem Links darauf (softlink). Es dürfte sich um einen Fehler handeln. Entweder um einen Fehler auf meinem Rechner oder in Windows, denn in anderen Darstellungen – etwa bei einem Dateidialog – ist das Link-Symbol sehr wohl zu sehen. Ebenso in den folgenden Darstellungen der Eigenschaften:

Ähnlich wie bei einem Hardlink entsteht ein neue Reiter Link-Eigenschaften in dem man sehen kann, auf welchen Zielordner der Link verweist.

Symbolischer Link (seit Vista)

mklink img-link.jpg img.jpg
mklink /d Bilder-link Bilder

Im Normalfall werden sich Originalobjekt und der Link dazu nicht im selben Ordner befinden. Sind sie aber im selben Ordner, müssen sie verschiedene Namen haben; im obigen Beispiel wurde -link nachgestellt.

Die Kommandozeilendarstellung weist die beiden Links mit SYMLINK und SYMLINKD aus. Auf der Kommandozeile löscht man den Link auf die Datei mit DEL und den Link auf den Ordner mit RD.

In der Windows-Darstellung fehlen wieder die Link-Symbole und beim Datei-Link kann Windows das Bild nicht anzeigen, was aber beim Hardlink sehr wohl funktioniert hat. Die Eigenschaftenmenüs der beiden Links enthalten wie auch der Softlink und der Hardlink einen zusätzlichen Reiter mit dem jeweiligen Ziel.

Der symbolische Link ist die jüngste Entwicklung und ich verwende ausschließlich diese Form des Links. Der Vorteil des Softlinks (Junction) und Symbolischen Links auf einen Ordner ist der Umstand, dass sich dieses Objekt wie das jeweilige Original verhält, so als wäre dieser Ordner an der Stelle des Links. Bei einer Verknüpfung ist das nicht der Fall, denn dabei wird der aktuelle Pfad verlassen und an den physischen Ort des Zielordners gewechselt.

Wozu braucht man diese Links?

Im Laufe eines Computer-Lebens kommen immer wieder neue Laufwerke dazu, die auch wieder ähnliche Daten enthalten wie auch schon die alten Festplatten. Es kann auch sein, dass sich Projektteile auf mehrere Laufwerke verteilen.

Damit man aber “alles unter einem Dach” hat, kann man Inhalte, die sich anderswo befinden über Links in den Arbeitsordner integrieren.

Eine gewisse Ähnlichkeit mit den Links haben die “Bibliotheken” aber eigentlich können die Links deutlich mehr, weil sie auch auf Dateien und nicht nur auf Ordner anwendbar sind. Außerdem verhalten sich Links zu Ordnern exakt wie ein Ordner, was aber für die Ordner in Bibliotheken nicht zutrifft, weil die Bibliothek selbst kein Ordner ist.

Beispiel: Bilder sind auf meinem PC in verschiedenen Ordnern auf verschiedenen Laufwerken. Hier sind alle Bilderordner.

C:\Users\Public\Pictures
C:\Users\Public\Videos
s:\bildarchiv
s:\bildarchiv_export
S:\EIZO\Pictures
S:\OneDrive\Bilder

Es gibt einen Ordner “Bildersammlung” und alle diese 6 Bilderordner sollen in diesem Ordner “Bildersammlung” vereinigt werden. Das ist- wie gesagt – einer Bibliothek nicht unähnlich.

Man sieht, dass alle diese Ordner die Kennzeichnung SYMLINKD bekommen haben. Das deutet darauf hin, dass es sich um eine symbolische Verknüpfung zu einem Ordner handelt. Der einschließende Ordner Bildersammlung kann sich auf einem Laufwerk befinden, das selbst gar keinen Platz für alle diese Bilder bieten würde. Untersucht man aber die Größe dieses einschließenden Ordners Bildersammlung, stellt man nicht die wirkliche Größe der Summe aller sechs Bilderordner fest sondern die Größe 0. Dasselbe trifft für jeden einzelnen symbolischen Link auf zu.

Der Vorteil der symbolischen Links ist, dass man sie auf Ordner und Dateien gleichermaßen anwenden kann.

Wenn es aber wichtig ist, die realen Größen der Ordner zu wissen, muss man stattdessen einen Softlink (Junction) verwenden. Der Unterschied in der Anwendung ist, dass in der Kommandozeile statt /D /J anzugeben ist.

Was genau der Grund ist, dass man bei Microsoft nicht schon früher auf ein datenbankbasiertes Dateisystem gewechselt hat, wissen wir nicht. Auf Servern, wie zum Beispiel am OneDrive wird es längst verwendet. In einem solchen System hat jedes Objekt eine feste Id und erscheint in beliebig vielen Zusammenhängen. Google Mail funktioniert so und auch die oben erwähnten Wiedergabelisten. Auch die Beschlagwortung und Kategorisierung in Web-Publikation ist so aufgebaut. Bis es soweit ist, dass auch am Desktop die “freie Wahl der Ordnung” einzieht, müssen wir und mit Verknüpfungen und Links herumschlagen.

Weiterführende Links

Bilder

 

Franz Fiala

Präsident Clubcomputer / Herausgeber PCNEWS bei ClubComputer.at
Franz ist pensionierter HTL Lehrer (TGM), Präsident von ClubComputer, Herausgeber der Clubzeitung PCNEWS und betreut unser Clubtelefon und Internet Support. Er ist leidenschaftlicher Rapid Wien Fan.

Letzte Artikel von Franz Fiala (Alle anzeigen)