<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Hardlink</id>
	<title>Hardlink - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Hardlink"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Hardlink&amp;action=history"/>
	<updated>2026-05-28T21:51:56Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Hardlink&amp;diff=198871&amp;oldid=prev</id>
		<title>imported&gt;Eduevokrit: k</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Hardlink&amp;diff=198871&amp;oldid=prev"/>
		<updated>2024-04-06T14:25:13Z</updated>

		<summary type="html">&lt;p&gt;k&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Redundanztext&lt;br /&gt;
|3=Verknüpfung (Computer)&lt;br /&gt;
|4=Dateiverknüpfung&lt;br /&gt;
|5=Hardlink|6=Symbolische Verknüpfung|2=Dezember 2023|1=‣[[Benutzer:Y2kbug|Andreas]]•&amp;lt;small&amp;gt;[[Benutzer Diskussion:Y2kbug|⚖]]&amp;lt;/small&amp;gt; 18:06, 8. Dez. 2023 (CET)}}&lt;br /&gt;
&lt;br /&gt;
Ein &amp;#039;&amp;#039;&amp;#039;Hardlink&amp;#039;&amp;#039;&amp;#039;, übersetzt ins Deutsche auch oft &amp;#039;&amp;#039;&amp;#039;harte Verknüpfung&amp;#039;&amp;#039;&amp;#039; oder &amp;#039;&amp;#039;&amp;#039;harter Link&amp;#039;&amp;#039;&amp;#039;, bezeichnet im Bereich der [[Dateisystem]]e in der [[Informatik]] die Verknüpfung eines [[Dateiname]]ns mit einer [[Datei]]. Der Begriff stammt u.&amp;amp;nbsp;a. vom Betriebssystem [[Unix]].&lt;br /&gt;
&lt;br /&gt;
Bei modernen Dateisystemen gibt es keine feste Zuordnung zwischen Dateinamen und der eigentlichen Datei, vielmehr wird beim Erstellen der Datei –&amp;amp;nbsp;beispielsweise auf einer [[Festplatte]]&amp;amp;nbsp;– in einem ersten Schritt zunächst eine Nummer &amp;#039;&amp;#039;(Knotennummer)&amp;#039;&amp;#039; als [[Referenz (Programmierung)|Referenz]] auf die Datei benutzt und in einem zweiten Schritt ein [[Verzeichnisstruktur|Verzeichniseintrag]] mit dem Dateinamen erzeugt, der auf diese Nummer verweist. Im eigentlichen Sinne bezeichnet &amp;#039;&amp;#039;{{lang|en|hard link}}&amp;#039;&amp;#039; oder auch &amp;#039;&amp;#039;{{lang|en|physical link}}&amp;#039;&amp;#039; diese Verknüpfung von Dateiname und Datei (letztere repräsentiert durch deren Knotennummer) innerhalb des Dateisystems.&lt;br /&gt;
&lt;br /&gt;
Im allgemeinen Sprachgebrauch wird der Begriff jedoch meist nur dann verwendet, wenn &amp;#039;&amp;#039;mehrere&amp;#039;&amp;#039; Hardlinks auf &amp;#039;&amp;#039;dieselbe&amp;#039;&amp;#039; Datei verweisen, also &amp;#039;&amp;#039;mehrere&amp;#039;&amp;#039; Verzeichniseinträge bzw. Dateinamen für &amp;#039;&amp;#039;ein und dieselbe&amp;#039;&amp;#039; Datei existieren.&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
Beim Erstellen der Datei erzeugt das Betriebssystem (genauer: der Dateisystemhandler) den ersten Hardlink automatisch, da ohne ihn gar kein Dateiname existieren würde und somit die [[Anwendungsprogramm]]e gar keinen Zugriff auf die Datei hätten.&lt;br /&gt;
&lt;br /&gt;
Mit der Erstellung eines Hardlinks auf eine bereits existierende Datei wird ein weiterer Name (zuweilen in einem anderen Verzeichnis) zu der Datei etabliert; anschließend bilden beide Namen einen gleichwertigen Zugang zu der Datei; dabei ist nicht ohne Weiteres zu sagen, welcher Name zuerst da war. Das ist ein Gegensatz zu Verfahren mit ähnlicher Zielsetzung wie z.&amp;amp;nbsp;B. [[Symbolische Verknüpfung|symbolischen Verknüpfungen]] (auch &amp;#039;&amp;#039;Soft Links&amp;#039;&amp;#039; genannt), bei denen es eine &amp;#039;&amp;#039;eigentliche Datei&amp;#039;&amp;#039; und einen &amp;#039;&amp;#039;Link&amp;#039;&amp;#039; auf dieselbe gibt.&lt;br /&gt;
&lt;br /&gt;
Eine Datei oder ein Verzeichnis kann mit diesem Mechanismus an verschiedenen Orten in der [[Verzeichnisstruktur]] gleichzeitig erscheinen. Zu einem weiteren Hardlink gehört nur ein weiterer Name; andere [[Metadaten]], die zur Datei gehören –&amp;amp;nbsp;wie etwa Änderungsdatum oder [[Zugriffsrecht]]e&amp;amp;nbsp;–, existieren nur einmal und werden im Inode oder File Record gespeichert.&amp;lt;ref&amp;gt;{{Internetquelle |autor=Vivek Gite |url=https://www.cyberciti.biz/tips/understanding-unixlinux-filesystem-inodes.html |titel=Understanding UNIX / Linux filesystem Inodes |datum=2005-11-10 |abruf=2016-05-15}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Internetquelle |autor=Raymond Chen |url=https://devblogs.microsoft.com/oldnewthing/?p=8813 |titel=Why is the file size reported incorrectly for files that are still being written to? |hrsg=[[MSDN]] |datum=2011-12-26 |abruf=2016-05-15}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Internetquelle |autor=joscon, The Windows Servicing Guy |url=https://docs.microsoft.com/en-us/archive/blogs/joscon/how-hard-links-work |titel=How hard links work |hrsg=[[Microsoft TechNet]] |datum=2011-01-06 |abruf=2016-05-15}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hardlinks können sowohl in [[Unix]]- und [[Linux]]-Systemen (also auch [[macOS]]) als auch im Dateisystem [[NTFS]] unter [[Microsoft Windows|Windows]] erstellt werden.&lt;br /&gt;
&lt;br /&gt;
Im Allgemeinen spricht man von &amp;#039;&amp;#039;Hardlinks,&amp;#039;&amp;#039; wenn &amp;#039;&amp;#039;mehrere&amp;#039;&amp;#039; Einträge auf denselben Inode oder File Record verweisen, dessen Nummer eine Datei oder ein Verzeichnis dateisystemintern identifiziert. Mehrere Hardlinks auf denselben Inode oder File Record sind gleichwertig und können in beliebiger Reihenfolge umbenannt oder gelöscht werden. (Beim Löschen wird überprüft, ob gerade der &amp;#039;&amp;#039;letzte&amp;#039;&amp;#039; verbleibende Hardlink gelöscht wird; die eigentliche Datei wird erst dann gelöscht.) Abgesehen von den Verzeichniseinträgen für das aktuelle und das übergeordnete Verzeichnis („&amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt;“ und „&amp;lt;code&amp;gt;..&amp;lt;/code&amp;gt;“) verweisen Hardlinks fast immer auf Dateien.&lt;br /&gt;
&lt;br /&gt;
Da Inode- oder File-Record-Nummern &amp;#039;&amp;#039;innerhalb von [[Partition (Datenträger)|Partitionen]]&amp;#039;&amp;#039; verwaltet werden, sind Hardlinks nur innerhalb derselben Partition möglich. Möchte man Dateien auf verschiedenen Partitionen verlinken, so muss auf andere Mittel (wie symbolische Links) zurückgegriffen werden.&lt;br /&gt;
&lt;br /&gt;
== Aufbau (Unix) ==&lt;br /&gt;
&lt;br /&gt;
Jeder Verzeichniseintrag besteht aus dem [[Dateiname]]n und der zugeordneten Inode-Nummer. Zu jedem [[Inode]] kann es nahezu beliebig viele Dateipfade (Verzeichniseinträge) geben, also auch unterschiedliche Namen für dieselbe Datei.&lt;br /&gt;
&lt;br /&gt;
Ein Vorteil dieses Konzepts zeigt sich beim Entfernen von Links:&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Bemerkenswert ist das Verhalten von Hardlinks, wenn ein Benutzer eine Datei zu löschen versucht, die ein (oder mehrere) Programme noch geöffnet halten: Da das Öffnen einer Datei den Zähler um eins erhöht, führt das versuchte Löschen zwar zum „Verschwinden“ der Datei (genauer: des gelöschten Links) aus dem Verzeichnis. Die Datei existiert jedoch noch und kann vom Programm benutzt werden, solange es die Datei nicht schließt. Erst nachdem alle Programme die Datei geschlossen haben, wird auch der betreffende Festplattenspeicher freigegeben.&lt;br /&gt;
&lt;br /&gt;
Um Konsistenzprobleme zu vermeiden, dürfen gewöhnliche Benutzer für Verzeichnisse keine zusätzlichen Hardlinks erstellen: Die Links werden von einem Verzeichnis-Inode automatisch&lt;br /&gt;
verwaltet, und der eindeutige eigentliche Verzeichnisname taucht als Link genau einmal im übergeordneten Verzeichnis auf. Daneben gibt es in jedem Verzeichnis immer folgende zwei Links: Einen Link namens „&amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt;“, der das Verzeichnis selbst darstellt und folglich darauf verlinkt, sowie das übergeordnete Verzeichnis, durch einen Link namens „&amp;lt;code&amp;gt;..&amp;lt;/code&amp;gt;“ repräsentiert.&lt;br /&gt;
&lt;br /&gt;
== Anwendungsbeispiele ==&lt;br /&gt;
&lt;br /&gt;
=== Unix ===&lt;br /&gt;
&lt;br /&gt;
Für sonstige Dateien lassen sich mit dem [[Anweisung (Programmierung)|Befehl]] &amp;lt;code&amp;gt;[[ln (Unix)|ln]]&amp;lt;/code&amp;gt; jederzeit zusätzliche Links erstellen, z.&amp;amp;nbsp;B. ein Link &amp;#039;&amp;#039;/home/wiki2/same-picture&amp;#039;&amp;#039; zur vorhandenen Datei &amp;#039;&amp;#039;/home/wiki1/picture&amp;#039;&amp;#039;:&lt;br /&gt;
:&amp;lt;code&amp;gt;ln /home/wiki1/picture /home/wiki2/same-picture&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Andere Möglichkeiten zum Erstellen von Hard Links sind [[cp (Unix)|&amp;lt;code&amp;gt;cp --link&amp;lt;/code&amp;gt;]] und [[rsync|&amp;lt;code&amp;gt;rsync --link-dest&amp;lt;/code&amp;gt;]].&lt;br /&gt;
&lt;br /&gt;
Mit dem Befehl &amp;#039;&amp;#039;stat&amp;#039;&amp;#039; lässt sich ermitteln, wie viele Hardlinks auf eine Datei zeigen. Der Befehl &amp;#039;&amp;#039;ls -l&amp;#039;&amp;#039; zeigt auf vielen Unix-Systemen in der zweiten Spalte die Anzahl Hardlinks der zugehörigen Datei.&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
Hardlinks werden auf [[Partition (Datenträger)|Partitionen]] mit dem [[NTFS]]-Dateisystem unterstützt, nicht jedoch auf [[File Allocation Table|FAT]]- oder [[ReFS]]-formatierten Partitionen. Je Datei sind bis zu 1023 (=&amp;lt;math&amp;gt;2^{10}-1&amp;lt;/math&amp;gt;) zusätzliche Hardlinks möglich. Der erste [feste/harte] Verweis (oder &amp;#039;&amp;#039;{{lang|en|[hard]link}}&amp;#039;&amp;#039;) zeigt immer auf die bereits angelegte und damit erreichbare/zugreifbare Datei.&amp;lt;ref&amp;gt;{{Internetquelle |url=https://serverfault.com/a/350019 |titel=directory of hardlinks on NTFS appears to be consuming more space than it should |hrsg=[[Stack Overflow (Website)|Stack Overflow]] |sprache=en |abruf=2021-05-18}}&amp;lt;/ref&amp;gt; Zur Erstellung eignen sich z.&amp;amp;nbsp;B. das (u.&amp;amp;nbsp;a. in [[Microsoft Windows XP|Windows XP]] enthaltene) Werkzeug &amp;lt;code&amp;gt;{{lang|en|fsutil}}&amp;lt;/code&amp;gt; (u.&amp;amp;nbsp;a. mit der Befehlserweiterung &amp;lt;code&amp;gt;{{lang|en|hardlink create}}&amp;lt;/code&amp;gt;), der (ab [[Microsoft Windows Vista|Vista]] enthaltene) Befehl &amp;lt;code&amp;gt;{{lang|en|mklink}}&amp;lt;/code&amp;gt; (mit dem Parameter&amp;amp;nbsp;/H, siehe folgende Beispiele) oder Anwendungen anderer Hersteller.&lt;br /&gt;
&lt;br /&gt;
Um mit dem Microsoft-Werkzeug&amp;amp;nbsp;&amp;#039;&amp;#039;fsutil&amp;#039;&amp;#039; den Hardlink „Neue Linkdatei.txt“ zu erzeugen, der auch auf die Datei „Zieldatei.txt“ verweist, ist folgender Befehl einzugeben:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bat&amp;quot;&amp;gt;&lt;br /&gt;
C:\&amp;gt;fsutil hardlink create &amp;quot;Neue Linkdatei.txt&amp;quot; &amp;quot;Zieldatei.txt&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oder ab Vista:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bat&amp;quot;&amp;gt;&lt;br /&gt;
C:\&amp;gt;mklink /H &amp;quot;Neue Linkdatei.txt&amp;quot; &amp;quot;Zieldatei.txt&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anders als unter [[Unix]] und [[Unixähnliches Betriebssystem|Unixähnlichen]] kann kein Hardlink gelöscht werden, solange die betreffende Datei von einer Anwendung geöffnet (d.&amp;amp;nbsp;h. ein &amp;#039;&amp;#039;[[Filehandle]]&amp;#039;&amp;#039; darauf gesetzt) ist.&lt;br /&gt;
&lt;br /&gt;
=== Anmerkungen ===&lt;br /&gt;
&lt;br /&gt;
* Ein typischer [[Arbeitsgang]] an einem [[Computer]] ist es, eine Datei zu öffnen, zu ändern und zu speichern – beispielsweise einen [[Brief]] in einer [[Textverarbeitung]] zu ändern und dann zu sichern. Je nachdem, wie die [[Anwendungssoftware]] –&amp;amp;nbsp;hier die Textverarbeitung&amp;amp;nbsp;– intern ausgelegt ist, wird entweder der alte Inhalt in der geöffneten Datei mit dem geänderten Inhalt überschrieben – oder es wird eine neue Datei mit temporärem Namen angelegt, die alte gelöscht und anschließend die neue Datei mit dem alten Namen versehen. Entsprechend der dargelegten Eigenschaften von Hardlinks wird beim erstgenannten Verfahren der neue Inhalt bei allen Links der Datei erscheinen; beim zweiten Verfahren hingegen wird durch den Löschvorgang lediglich einer der Links aufgehoben, und der neue Inhalt erscheint in einer neuen Datei ohne weitere Hardlinks. Die anderen Links der ursprünglichen Datei verweisen nach wie vor auf ebenjene ursprüngliche Datei mit dem alten Inhalt; es sind nun also beide Versionsstände auf dem Datenträger vorhanden – ein Effekt, der gewollt sein kann oder auch nicht.&lt;br /&gt;
* Hardlinks werden bei der Datensicherung &amp;#039;&amp;#039;(backup)&amp;#039;&amp;#039; durch Kopien der verlinkten Dateien ersetzt, sofern das Backup-Programm diesen Fall nicht besonders behandelt.&lt;br /&gt;
* Für mehrfache Verweise auf eine Datei stehen auch &amp;#039;&amp;#039;[[Symbolischer Link|symbolische Links]] (Softlinks)&amp;#039;&amp;#039; zur Verfügung.&lt;br /&gt;
* Eine verbreitete Anwendung von Hardlinks ist die Erstellung von [[Schnappschuss (Informationstechnik)|Schnappschüssen]]. Dabei werden statt einer vollständigen Kopie aller Dateien &amp;#039;&amp;#039;(complete backup)&amp;#039;&amp;#039; nur neue oder geänderte Dateien gesichert &amp;#039;&amp;#039;(incremental backup)&amp;#039;&amp;#039; und ältere Dateien als Hardlinks auf bereits vormals gesicherte Dateien &amp;#039;&amp;#039;(backup set)&amp;#039;&amp;#039; repräsentiert. Da Hardlinks kaum Speicherplatz benötigen, wird gegenüber einer vollständigen Sicherung entsprechend signifikant wenig Speicher benötigt, trotzdem lassen sich alle Veränderungen an einem [[Verzeichnisstruktur|Verzeichnisbaum]] rekonstruieren.&amp;lt;ref&amp;gt;{{Internetquelle |autor=Mike Rubel |url=http://www.mikerubel.org/computers/rsync_snapshots/ |titel=Easy Automated Snapshot-Style Backups with Linux and Rsync |datum=2004-01-04 |abruf=2016-05-15}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Literatur |Autor=Rob Flickenger |Titel=Linux Server Hacks |Verlag=O’Reilly Media |Datum=2003 |ISBN=0-596-00461-3 |Kapitel=Hack 42: Automated Snapshot-Style Incremental Backups with rsync |Seiten=242 |Online=https://www.oreilly.com/library/view/linux-server-hacks/0596004613/}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Das Versionsverwaltungssystem [[Git]] benutzt Hardlinks beim Klonen von lokalen Repositories. Da Git in der Regel die gesamte Historie eines Projekts lokal verfügbar hält, lässt sich auf diese Weise Speicherplatz sparen.&amp;lt;ref&amp;gt;{{Internetquelle |url=https://www.kernel.org/pub/software/scm/git/docs/git-clone.html |titel=git-clone(1) Manual Page |datum=2015-06-06 |abruf=2016-05-15}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Unter NTFS erfüllen [[Verknüpfung (Computer)#Abzweigungspunkte|Abzweigungspunkte (&amp;#039;&amp;#039;{{lang|en|junctions}}&amp;#039;&amp;#039;)]] eine ähnliche Funktion wie Hardlinks, wenn &amp;#039;&amp;#039;Verzeichnisse&amp;#039;&amp;#039; auf verschiedenen Partitionen oder Festplatten desselben Computers verlinkt werden sollen. Abzweigungspunkte erlauben jedoch keine Verlinkung von Dateinamen oder Verlinkungen über Netzlaufwerke.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Symbolische Verknüpfung]]&lt;br /&gt;
* [[Dateiverknüpfung]]&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Dateiverwaltung]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Eduevokrit</name></author>
	</entry>
</feed>