Hard link

Hard link

Ein harter Link (engl. hard link, im deutschen Jargon auch Hardlink) ist ein Verzeichniseintrag in einem Dateisystem, der indirekt auf Dateien und Verzeichnisse verweist. Außer in Unix-Systemen (also auch Mac OS X) können Hardlinks auch im Dateisystem NTFS unter Windows erstellt werden.

Von „harten Links“ spricht man insbesondere, wenn mehrere Einträge auf denselben Dateideskriptor verweisen, dessen Nummer eine Datei oder ein Verzeichnis systemintern identifiziert. Dieser Deskriptor heißt in Unix-Systemen Inode, unter NTFS File Record. Mehrere harte Links auf denselben Inode oder File Record sind gleichwertig und können in beliebiger Reihenfolge umbenannt oder gelöscht werden. Abgesehen von den Verzeichniseinträgen für das aktuelle und das übergeordnete Verzeichnis, . und .., verweisen harte Links fast immer auf Dateien. Da Deskriptornummern innerhalb von Partitionen verwaltet werden, sind harte Links nur innerhalb derselben Partition möglich.

Im Unterschied zu harten verweisen symbolische Links nicht auf einen Deskriptor, sondern auf einen weiteren Verzeichniseintrag.

Inhaltsverzeichnis

Aufbau (Unix)

Jeder Verzeichniseintrag besteht aus dem Dateinamen und der zugeordneten Inode-Nummer. Zu jedem Inode kann es beliebig viele Dateipfade (Verzeichniseinträge) geben, also auch unterschiedliche Namen für dieselbe Datei.

Ein Vorteil dieses Konzepts zeigt sich beim Entfernen von Links:

Es gibt bei Unixsystemen streng genommen keine Operation zum Löschen einer Datei, sondern nur eine unlink-Operation zum Löschen von Links. Im Inode einer Datei wird die aktuelle Anzahl der Links gespeichert. Erst wenn der letzte Link zu einer Datei gelöscht ist, der Zähler im Inode also den Wert Null hat, wird die Datei selbst (Inode und Datencluster) zur Wiederbeschreibung freigegeben und damit logisch gelöscht.

Bemerkenswert ist das Verhalten harter Links, wenn ein Benutzer eine Datei zu löschen versucht die ein Programm noch geöffnet hält: Da das Öffnen einer Datei den Zähler um eins erhöht, führt das versuchte Löschen zum Verschwinden der Datei (genauer: des gelöschten Links), aber nicht zur Freigabe des Festplattenspeichers – dieser wird erst freigegeben, nachdem die Datei von allen Applikationen geschlossen wurde.

Um Konsistenzprobleme zu vermeiden, dürfen Benutzer für Verzeichnisse keine zusätzlichen harten Links erstellen: Die Links werden von einem Verzeichnis-Inode automatisch verwaltet, und der eindeutige eigentliche Verzeichnisname taucht als Link genau einmal im übergeordneten Verzeichnis auf. Daneben gibt es in dem Verzeichnis selbst einen Link namens "." und in allen untergeordneten Verzeichnissen je einen Link namens "..".

Anwendungsbeispiele

Unix

Für sonstige Dateien lassen sich zusätzliche Links jederzeit erstellen, z. B. ein Link "/home/wiki/nulllink" zum vorhandenen Gerät /dev/null:

> ln /dev/null /home/wiki/nulllink

(Das Beispiel funktioniert nur, wenn sich /home/wiki zufällig im gleichen Dateisystem wie /dev/null befindet. In modernen Linux-Distributionen und grundsätzlich bei FreeBSD (ab Version 5) ist das jedoch niemals der Fall, da /dev dort ein Mountpoint eines speziellen Gerätedateisystems ist.)

Windows

NTFS-Partitionen (nicht FAT und FAT32) unterstützen bis zu 1023 harte Links pro Datei. Zum Erstellen harter Links eignen sich beispielsweise fsutil hardlink utility (Windows XP), der mklink Befehl (Vista) oder Programme von Drittherstellern.

Um mit dem Microsoft-Tool fsutil den harten Link "EinLink.pdf" zu erzeugen, der auf die Datei "EinDokument.pdf" verweist, gibt man ein:

fsutil hardlink create EinLink.pdf EinDokument.pdf

Zulässig wäre beispielsweise:

D:\dira\Anton.txt → D:\dirb\dirx\Berta.txt oder
D:\dirc\Carla.bak → D:\dirb\dirx\Berta.txt usw.

Anders als unter Unix kann kein harter Link gelöscht werden, solange die referenzierte Datei von einer Anwendung geöffnet, d.h. ein File Handle gesetzt ist.

Anmerkungen

  • Harte Links werden beim Systembackup durch Kopien der verlinkten Dateien ersetzt.
  • Harte Zusatzlinks werden für "normale" Dateien nicht sehr oft genutzt, da für mehrfache Verweise auf eine Datei auch symbolische Links zur Verfügung stehen.
  • Unter NTFS erfüllen Abzweigungspunkte ("Junctions") eine ähnliche Funktion wie harte Links, wenn Verzeichnisse auf verschiedenen Partitionen oder Festplatten desselben Computers verlinkt werden sollen, in der Art
C:\dira → D:\dirb\dirx
Nicht möglich sind jedoch
1. die Verlinkung von Dateinamen über einen Abzweigungspunkt, wie etwa
D:\dira\Anton.txt → D:\dirb\dirx\Berta.txt oder
2. die Verlinkung von Verzeichnissen auf einem Netzlaufwerk.

Weblinks

  • Link Shell Extension für Windows – Bequem im Explorer Links erstellen
  • mklink für Windows 1.0 - Kommandozeilen-Befehl für Link-Erstellung unter Windows 2000/XP
  • FreeDup - automatisiertes Erstellen von Links unter Linux/Unix
  • Dupmerge - automatisiertes Erstellen von Links u. A. unter Linux/Unix
  • AllDup Duplikatfinder (Byte-für-Byte-Vergleich) mit Option zum Erstellen von Hard- und Softlinks unter Windows. Läuft auch auf FAT Dateisystemen, logischerweise ohne die Option "Hardlinks erstellen".

Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Hard link — In computing, a hard link is a directory reference, or pointer, to a file on a storage volume. The name associated with the file is simply a label stored in a directory structure that refers the operating system to the file data. As such, more… …   Wikipedia

  • Hard link — Lien matériel En informatique, on nomme lien matériel (en anglais hard link) un pointeur sur des données physiques d un volume de stockage. Ce pointeur est relatif au volume physique ou logique considéré, ce qui permet le changement de support… …   Wikipédia en Français

  • Hard link — …   Википедия

  • Link — may refer to:ComputingInternet* Links (web browser), a web browser for Unix like systems * Reciprocal link, two way links to and from websites, also known as link swaps , link exchanges and link partners * Hyperlink, a reference in a hypertext… …   Wikipedia

  • Link (Unix) — link is a command line utility included with Solaris. It directly interfaces the system call link() and creates a hard link. It can be run only by privileged users in the case where the existing path refers to a directory. As described by the… …   Wikipedia

  • Hard (album) — Infobox Album | Name = Hard Type = Album Artist = Jagged Edge Released = October 7, 2003 (U.S.) Recorded = 2002 2003 Genre = R B Label = So So Def Records Sony Music Producer = Jermaine Dupri Bryan Michael Cox Jazze Pha Corna Boyz Reviews = *… …   Wikipedia

  • Hard-Fi — at the 2006 Hurricane Festival in Germany Background information Origin Staines, Surrey, England …   Wikipedia

  • Hard disk drive — Hard drive redirects here. For other uses, see Hard drive (disambiguation). Hard disk drive Mechanical interior of a modern hard disk drive Date invented 24 December 1954 [1] …   Wikipedia

  • Hard science fiction — is a category of science fiction characterized by an emphasis on scientific or technical detail, or on scientific accuracy, or on both.[1][2] The term was first used in print in 1957 by P. Schuyler Miller in a review of John W. Campbell, Jr. s… …   Wikipedia

  • Link (The Legend of Zelda) — Link (character) and Link (fictional character) redirect here. For other uses, see Link (disambiguation). Link Link, as he appears in official artwork for The Legend of Zelda Series The Leg …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”