{"id":112,"date":"2010-04-14T19:42:23","date_gmt":"2010-04-14T17:42:23","guid":{"rendered":"http:\/\/www.steffen-liersch.de\/content\/de\/?p=112"},"modified":"2025-03-02T11:32:03","modified_gmt":"2025-03-02T10:32:03","slug":"hardlink","status":"publish","type":"post","link":"https:\/\/www.steffen-liersch.de\/content\/de\/2010\/04\/hardlink\/","title":{"rendered":"Harte Links (Hardlinks)"},"content":{"rendered":"<p>Ein <a href=\"http:\/\/de.wikipedia.org\/wiki\/Hardlink\" rel=\"noopener\">harter Link<\/a> (engl. Hard Link) ist ein Verweis auf eine bestehende Datei im Dateisystem. Alle Verweise auf ein und dieselbe Datei sind v\u00f6llig gleichberechtigt und nicht voneinander zu unterscheiden.<!--more--><\/p>\n<h2>Einsatzgebiete<\/h2>\n<p>Harte Links k\u00f6nnen eingesetzt werden, um Dateien an einer anderen Stelle im Dateisystem \"einzublenden\". Wird eine hart verlinkte Datei ge\u00f6ffnet und ge\u00e4ndert, so wirkt sich dies auf alle verlinkten Dateien aus. Durch das \u00dcberschreiben einer hart verlinkten Datei geht, wie zu erwarten ist, die Verlinkung verloren. Beispielsweise geschieht dies beim Bearbeiten mit einem Programm, dass beim Speichern die Datei immer neu erzeugt. Normale und hart verlinkte Dateien verhalten sich v\u00f6llig identisch, so dass Programme die Verlinkung nicht bemerken. Harte Links werden in der Praxis eher selten verwendet<\/p>\n<h2>Harte Links unter Windows<\/h2>\n<p>Unter Windows werden harte Links ausschlie\u00dflich im <a href=\"http:\/\/de.wikipedia.org\/wiki\/NTFS\" rel=\"noopener\">NTFS-Dateisystem<\/a> unterst\u00fctzt. Sie k\u00f6nnen nicht partitions\u00fcbergreifend erzeugt werden. Harte Links f\u00fcr Verzeichnisse sind nicht m\u00f6glich. Ab Windows XP kann ein harter Link mit folgendem Kommandozeilenbefehl erstellt werden:<\/p>\n<pre><code class=\"xml\">fsutil hardlink create &lt;NewFileName&gt; &lt;ExistingFileName&gt;<\/code><\/pre>\n<p>Anwendungsentwickler k\u00f6nnen ab Windows 2000 auf die Funktion CreateHardLink der Windows-API zur\u00fcckgreifen, die in der Systembibliothek \"kernel32.dll\" definiert ist. Der letzte Parameter lpSecurityAttributes ist reserviert und muss den Wert NULL enthalten.<\/p>\n<pre><code class=\"cpp\">BOOL CreateHardLink(\r\n  LPCTSTR lpFileName,\r\n  LPCTSTR lpExistingFileName,\r\n  LPSECURITY_ATTRIBUTES lpSecurityAttributes\r\n);<\/code><\/pre>\n<p>.NET-Anwendungen k\u00f6nnen die Funktion wie folgt importierten. F\u00fcr lpSecurityAttributes muss hier der Wert IntPtr.Zero \u00fcbergeben werden.<\/p>\n<pre><code class=\"cs\">[DllImport(\"kernel32.dll\", CharSet=CharSet.Unicode)]\r\npublic static extern bool CreateHardLink(\r\n  string lpFileName,\r\n  string lpExistingFileName,\r\n  IntPtr lpSecurityAttributes\r\n);<\/code><\/pre>\n<h2>Harte Links unter Linux<\/h2>\n<p>Harte Links k\u00f6nnen auch unter Linux nicht partitions\u00fcbergreifend erzeugt werden. Folgender Kommandozeilenbefehl dient zur Generierung eines harten Links:<\/p>\n<pre><code class=\"xml\">ln &lt;ExistingFileName&gt; &lt;NewFileName&gt;<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Ein harter Link (engl. Hard Link) ist ein Verweis auf eine bestehende Datei im Dateisystem. Alle Verweise auf ein und dieselbe Datei sind v\u00f6llig gleichberechtigt und nicht voneinander zu unterscheiden.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[21,27,9],"class_list":["post-112","post","type-post","status-publish","format-standard","hentry","category-various","tag-net","tag-cpp","tag-file-system"],"_links":{"self":[{"href":"https:\/\/www.steffen-liersch.de\/content\/de\/wp-json\/wp\/v2\/posts\/112","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.steffen-liersch.de\/content\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.steffen-liersch.de\/content\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.steffen-liersch.de\/content\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.steffen-liersch.de\/content\/de\/wp-json\/wp\/v2\/comments?post=112"}],"version-history":[{"count":10,"href":"https:\/\/www.steffen-liersch.de\/content\/de\/wp-json\/wp\/v2\/posts\/112\/revisions"}],"predecessor-version":[{"id":659,"href":"https:\/\/www.steffen-liersch.de\/content\/de\/wp-json\/wp\/v2\/posts\/112\/revisions\/659"}],"wp:attachment":[{"href":"https:\/\/www.steffen-liersch.de\/content\/de\/wp-json\/wp\/v2\/media?parent=112"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.steffen-liersch.de\/content\/de\/wp-json\/wp\/v2\/categories?post=112"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.steffen-liersch.de\/content\/de\/wp-json\/wp\/v2\/tags?post=112"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}