{"id":2395,"date":"2023-09-10T10:37:26","date_gmt":"2023-09-10T08:37:26","guid":{"rendered":"https:\/\/linux-bibel.at\/?p=2395"},"modified":"2023-09-10T10:37:29","modified_gmt":"2023-09-10T08:37:29","slug":"symbolische-links-und-hardlinks-unter-linux","status":"publish","type":"post","link":"https:\/\/linux-bibel.at\/index.php\/2023\/09\/10\/symbolische-links-und-hardlinks-unter-linux\/","title":{"rendered":"Symbolische Links und Hardlinks unter Linux"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Unter allen Betriebssystemen kennt man Links &#8211; um zu verstehen, was mit einem Link gemeint ist, kann man sich den Link zu einer anderen Webseite vorstellen. Nehmen wir einfach den Link zu&nbsp;<a href=\"https:\/\/www.kernel.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Kernel.org<\/a>&nbsp;&#8211; Sie klicken auf den Link und finden sich auf der verlinkten Seite wieder.<br>Ein Link ist so gesehen nichts anderes als eine Verkn\u00fcpfung, in Dingen Dateien ganz einfach zu Dateien. Anders als unter Windows gibt es unter Linux zwei verschiedene Arten von Links.&nbsp;<strong>Hardlinks<\/strong>&nbsp;und&nbsp;<strong>Symlinks<\/strong>&nbsp;&#8211; Symlinks werden auch gerne als&nbsp;<strong>symbolische Links<\/strong>&nbsp;oder&nbsp;<strong>Softlinks<\/strong>&nbsp;bezeichnet.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Was sind Links eigentlich, wozu dienen sie?<\/strong><br>Um zu verstehen, wozu beide Arten von Links dienen, m\u00fcssen wir uns ein wenig mit dem Dateisystem befassen &#8211; egal welches, alle arbeiten in diesem Sinn gleich. Ein Dateisystem platziert Dateien, egal welcher Art, an einer beliebigen Stelle im Dateisystem. Um diese auch wiederzufinden, werden solche Links in einer Art Datenbank des Dateisystems gesetzt. Nun nehmen wir einen beliebigen Dateimanager &#8211; dieser zeigt uns nicht die realen Dateien, also etwa Bilder, PDF-Dateien oder was auch immer, sondern die Links zu Dateien. L\u00f6schen wir eine solche Datei, wird nicht die eigentliche Datei, sondern der Link zu dieser Datei gel\u00f6scht &#8211; die Datei bleibt noch immer gespeichert.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Nun wollen wir uns die beiden Arten von Links etwas genauer ansehen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Hardlinks<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Jede Datei im lokalen Dateisystem (<em>interne Festplatte auf der jeweiligen Partition<\/em>) unter Linux besitzt einen Hardlink, einfach nur um diese im Dateisystem wiederzufinden:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"407\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/hardlinks-1024x407.png\" alt=\"\" class=\"wp-image-2396\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/hardlinks-1024x407.png 1024w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/hardlinks-300x119.png 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/hardlinks-768x306.png 768w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/hardlinks.png 1463w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">In der Grafik oben sehen Sie ganz rechts das Dateisystem mit den darauf verteilten Dateien, in der Mitte die Datenbank des Dateisystems und ganz links, was wir etwa im Dateimanager sehen. Dateien 1 bis 4 besitzen einen Hardlink, sind somit im Dateimanager zu sehen und zu \u00f6ffnen. Datei 5 wurde wie \u00fcblich ganz einfach gel\u00f6scht &#8211; besitzt daher keinen Hardlink mehr &#8211; ist aber noch vorhanden. Da Datei 5 keinen Hardlink mehr besitzt ist sie auch im Dateimanager nicht mehr zu sehen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die Anzahl der Hardlinks betr\u00e4gt unter normalen Umst\u00e4nden &#8222;<strong>1<\/strong>&#8222;, eine Datei besitzt also einen Hardlink, dies l\u00e4sst sich am Terminal mit dem Befehl:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ls -l<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">anzeigen &#8211; die Zeile nach den Zugriffsrechten zeigt die Anzahl der Hardlinks:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/hardlinks-1024x576.jpg\" alt=\"\" class=\"wp-image-2397\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/hardlinks-1024x576.jpg 1024w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/hardlinks-300x169.jpg 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/hardlinks-768x432.jpg 768w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/hardlinks-1536x864.jpg 1536w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/hardlinks.jpg 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Hardlinks lassen sich nicht manuell anlegen, dies erledigt das Dateisystem automatisch beim Erstellen oder Speichern einer Datei.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Symlinks<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Hardlinks haben ein Problem &#8211; Hardlinks lassen sich nur auf dem Dateisystem nutzen, auf dem auch die jeweilige Datei liegt. Man kann auch keine Hardlinks manuell erstellen. Hierf\u00fcr dienen nun Symlinks.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Symlinks verweisen nicht direkt auf die Datei im Dateisystem, sondern auf den Hardlink. So ist es m\u00f6glich auf Dateien auf anderen Dateisystemen (<em>Partitionen zu verweisen<\/em>), etwa auf andere Partitionen im lokalen Rechner, auf anderen Rechnern im Netzwerk oder auf externen Medien wie etwa einer externen Festplatte oder USB-Stick.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Symlinks lassen sich nun auch manuell erstellen und haben so den Vorteil etwa Dateien schneller zu \u00f6ffnen, ohne das Verzeichnis zu \u00f6ffnen, in dem sie liegen. Verkn\u00fcpfungen zu Dateien am Desktop sind etwa Symlinks. Nehmen wir einmal an ich will unter KDE mit Dolphin eine Verkn\u00fcpfung am Desktop zu einer Datei erstellen &#8211; ich ziehe die Datei auf den Desktop und w\u00e4hlen &#8222;<em>Hierher verkn\u00fcpfen<\/em>&#8222;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/symlinks-1024x576.jpg\" alt=\"\" class=\"wp-image-2398\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/symlinks-1024x576.jpg 1024w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/symlinks-300x169.jpg 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/symlinks-768x432.jpg 768w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/symlinks-1536x864.jpg 1536w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/symlinks.jpg 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Eine weitere M\u00f6glichkeit w\u00e4re es einfach auf eine freie Stelle am Desktop rechts zu klicken und &#8222;<em>Neu erstellen \u2192 Verkn\u00fcpfung zu Datei oder Ordner<\/em>&#8220; zu w\u00e4hlen. Mit anderen Dateimanagern funktioniert dies \u00e4hnlich.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Symbolische Links lassen sich auch am\u00a0Terminal\u00a0mit dem Befehl &#8222;<strong><code>ln<\/code><\/strong>&#8220; und der Option &#8222;<strong><code>-s<\/code><\/strong>&#8220; erstellen. Die Syntax des Befehls sieht so aus:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ln -s Quelle Ziel<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Als Beispiel m\u00f6chte ich von der Datei &#8222;<em>\/home\/robert\/Dokumente\/Rechnungen.odt<\/em>&#8220; eine Verkn\u00fcpfung auf dem Desktop &#8211; in diesem Fall im Verzeichnis &#8222;<em>Desktop<\/em>&#8220; anlegen:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ln -s \/home\/robert\/Dokumente\/Rechnungen.odt \/home\/robert\/Desktop\/<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/symlinks-1-1024x576.jpg\" alt=\"\" class=\"wp-image-2399\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/symlinks-1-1024x576.jpg 1024w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/symlinks-1-300x169.jpg 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/symlinks-1-768x432.jpg 768w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/symlinks-1-1536x864.jpg 1536w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/symlinks-1.jpg 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Sie k\u00f6nnen dem Symlink, also der Verkn\u00fcpfung nat\u00fcrlich auch einen anderen Namen geben &#8211; ganz einfach:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ln -s \/home\/robert\/Dokumente\/Rechnungen.odt \/home\/robert\/Desktop\/Rechnungen_Verkn\u00fcpfung.odt<\/code><\/pre>\n<div class=\"pld-like-dislike-wrap pld-custom\">\r\n    <div class=\"pld-like-wrap  pld-common-wrap\">\r\n    <a href=\"javascript:void(0)\" class=\"pld-like-trigger pld-like-dislike-trigger  \" title=\"Gef\u00e4llt mir\" data-post-id=\"2395\" data-trigger-type=\"like\" data-restriction=\"cookie\" data-already-liked=\"0\">\r\n                            <img src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/12\/Daumen-Hoch.png\" alt=\"Gef\u00e4llt mir\" \/>\r\n            <\/a>\r\n    <span class=\"pld-like-count-wrap pld-count-wrap\">1    <\/span>\r\n<\/div><div class=\"pld-dislike-wrap  pld-common-wrap\">\r\n    <a href=\"javascript:void(0)\" class=\"pld-dislike-trigger pld-like-dislike-trigger  \" title=\"Gef\u00e4llt mir nicht\" data-post-id=\"2395\" data-trigger-type=\"dislike\" data-restriction=\"cookie\" data-already-liked=\"0\">\r\n                            <img src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/12\/Daumen-Runter.png\" alt=\"Gef\u00e4llt mir nicht\" \/>\r\n            <\/a>\r\n    <span class=\"pld-dislike-count-wrap pld-count-wrap\"><\/span>\r\n<\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Unter allen Betriebssystemen kennt man Links &#8211; um zu verstehen, was mit einem Link gemeint ist, kann man sich den Link zu einer anderen Webseite vorstellen. Nehmen wir einfach den Link zu&nbsp;Kernel.org&nbsp;&#8211; Sie klicken auf den Link und finden sich auf der verlinkten Seite wieder.Ein Link ist so gesehen nichts anderes als eine Verkn\u00fcpfung, in [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2391,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[301],"tags":[302],"class_list":["post-2395","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-begriffe-erklaerungen","tag-begriffe-erklaerungen"],"_links":{"self":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/2395","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/comments?post=2395"}],"version-history":[{"count":1,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/2395\/revisions"}],"predecessor-version":[{"id":2400,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/2395\/revisions\/2400"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/media\/2391"}],"wp:attachment":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/media?parent=2395"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/categories?post=2395"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/tags?post=2395"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}