Hardlink

Hardlink

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:

  • Hardlink — may refer to:* Hard Link, Windows or Unix file system pointer * Hardlink (homonymy), Physical world hyperlink …   Wikipedia

  • hardlink — n. A tag, such as a barcode, assigned to an object that, when scanned with a smartphone or reader, displays online data about the object. Also: hard link, hard link. v. hardlinking pp. Example Citations: The key difference between the two… …   New words

  • Hardlink (homonymy) — A hardlink establishes a reference link between the physical world and a .mobi web page just as a hyperlink establishes an electronic reference to information on a Web page. This concept is also known as physical world connection , Object… …   Wikipedia

  • Object hyperlinking — is a neologism that usually refers to extending the Internet to objects and locations in the real world. The current Internet does not extend beyond the electronic world. Object hyperlinking aims to extend the Internet to the real world by… …   Wikipedia

  • 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… …   Deutsch Wikipedia

  • Harter Link — Ein harter Link (engl. hard link, im deutschen Jargon auch Hardlink) ist ein Verzeichniseintrag in einem Dateisystem, der auf Dateien und Verzeichnisse verweist. Mit der Erstellung eines harten Links wird ein weiterer Name zu der Datei etabliert …   Deutsch Wikipedia

  • Mv (Unix) — mv (engl. Abkürzung für move) ist ein Unix Befehl, der eine oder mehrere Dateien oder Verzeichnisse von einem Ort zum anderen verschiebt. Damit vereint das Programm die beiden von einem Computerbenutzer intuitiv als verschieden wahrgenommenen… …   Deutsch Wikipedia

  • Жёсткая ссылка — У этого термина существуют и другие значения, см. Ссылка. Жёсткой ссылкой (англ. hard link) в UFS совместимых файловых системах называется структурная составляющая файла  описывающий его элемент каталога. Файл в UFS представляет собой… …   Википедия

  • NTFS — Developer Microsoft Full name New Technology File System[1] Introduced July 1993 (Windows NT 3.1) Partition identifier 0x07 (MBR) EBD0A0A2 B9E5 4433 87C0 68B6 …   Wikipedia

  • Daylight saving time — This article is about daylight saving time in general. For DST in a specific location, see Daylight saving time by country. Summer time and DST redirect here. For other uses, see Summer time (disambiguation) and DST (disambiguation) …   Wikipedia

Share the article and excerpts

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