Zum Inhalt springen

Hardlink: Unterschied zwischen den Versionen

Aus Foxwiki
Die 5 zuletzt angesehenen Seiten:  Spezial:Linkliste/Paketvermittelt » Hardlink » smartctl » basename » Hardlink
K Textersetzung - „===== Weblinks =====“ durch „==== Weblinks ====“
 
(14 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''Hardlink''' - (feste) Verknüpfung zwischen zwei Punkten
'''Hardlink''' - Verzeichniseintrag für eine existierende Datei


== Beschreibung ==
== Beschreibung ==
Bei einem Hardlink handelt es sich eigentlich nur um einen weiteren Verzeichniseintrag für eine existierende Datei
Ein ''Hardlink'' ist Verzeichniseintrag für eine existierende Datei
* Demzufolge belegt er auch keinen eigenen Inode und fast gar keinen Speicherplatz im Dateisystem
* (feste) Verknüpfung zwischen zwei Punkten
* Daraus ergeben sich völlig andere Eigenschaften im Vergleich zu einem symbolischen Link
* Keinen eigenen Inode
* belegt nahezu keinen Speicherplatz im Dateisystem
 
Daraus ergeben sich völlig andere Eigenschaften im Vergleich zu einem symbolischen Link
* Hardlinks können nicht auf Verzeichnisse angewandt werden, sondern nur auf Dateien
* Hardlinks können nicht auf Verzeichnisse angewandt werden, sondern nur auf Dateien
* Hardlinks können nicht partitionsübergreifend eingesetzt werden
* Hardlinks können nicht partitionsübergreifend eingesetzt werden
* Es gibt keine verwaisten bzw.  gebrochenen Hardlinks
* Es gibt keine verwaisten bzw.  gebrochenen Hardlinks
* Eine Datei wird gelöscht,wenn der letzte Hardlink zu dieser Datei gelöscht wird
* Eine Datei wird gelöscht, wenn der letzte Hardlink zu dieser Datei gelöscht wird
 
* Die Zieldatei und der Hardlink verwenden eine gemeinsame Zugriffssteuerungsliste (ACL)
* Die Zieldatei und der Hardlink verwenden eine gemeinsame Zugriffssteuerungsliste (ACL)
* Ein Hardlink ist im Nachhinein nicht mehr von seiner Zieldatei zu unterscheiden
* Ein Hardlink ist im Nachhinein nicht mehr von seiner Zieldatei zu unterscheiden


Zeile 21: Zeile 26:
ln file1 hardlink2
ln file1 hardlink2
ls -l
ls -l
total 80
drwxr-xr-x 2 root root 4096 Jan 2 19:21
drwxr-xr-x 24 root root 4096 Jan 2 17:55
  -rw-r--r-- 3 root root 22271 Jan 2 19:21 file1
  -rw-r--r-- 3 root root 22271 Jan 2 19:21 file1
  -rw-r--r-- 3 root root 22271 Jan 2 19:21 hardlink1
  -rw-r--r-- 3 root root 22271 Jan 2 19:21 hardlink1
Zeile 30: Zeile 32:


Die drei Dateien sind offensichtlich gleich groß und verfügen auch sonst über dieselben Eigenschaften
Die drei Dateien sind offensichtlich gleich groß und verfügen auch sonst über dieselben Eigenschaften
* Mit ls -li soll festgestellt werden, welche Inodes die Dateien jeweils belegen
* Mit ls -li soll festgestellt werden, welche [[Inode]]s die Dateien jeweils belegen


<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line>
ls -li
ls -li
total 80
1896834 drwxr-xr-x 2 root root 4096 Jan 2 19:21
2 drwxr-xr-x 24 root root 4096 Jan 2 17:55
  1896921 -rw-r--r-- 3 root root 22271 Jan 2 19:21 file1
  1896921 -rw-r--r-- 3 root root 22271 Jan 2 19:21 file1
  1896921 -rw-r--r-- 3 root root 22271 Jan 2 19:21 hardlink1
  1896921 -rw-r--r-- 3 root root 22271 Jan 2 19:21 hardlink1
Zeile 42: Zeile 41:
</syntaxhighlight>
</syntaxhighlight>


Alle drei Dateien verwenden dieselben Inode
Alle drei Dateien verwenden dieselben [[Inode]]
* Wenn Sie das Kommando stat auf eine der drei Dateien anwenden, sehen Sie zwei interessante Details
* Wenn Sie das Kommando stat auf eine der drei Dateien anwenden, sehen Sie zwei interessante Details
* Erstens werden die Hardlinks als reguläre Dateien erkannt, und zweitens erkennt das Programm drei Links
* Erstens werden die Hardlinks als reguläre Dateien erkannt, und zweitens erkennt das Programm drei Links
Zeile 58: Zeile 57:
</syntaxhighlight>
</syntaxhighlight>


== Installation ==
<syntaxhighlight lang="bash" highlight="1" line>
</syntaxhighlight>
== Aufruf ==
<syntaxhighlight lang="bash" highlight="1" line>
</syntaxhighlight>
=== Optionen ===
{| class="wikitable sortable options gnu"
|-
! Unix !! GNU !! Parameter !! Beschreibung
|-
| -1 || --single || || Exit as soon as the first advertisement is received (default)
|-
|}
=== Parameter ===
=== Umgebungsvariablen ===
=== Exit-Status ===
== Anwendung ==
== Anwendung ==
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line>
Zeile 82: Zeile 62:
</syntaxhighlight>
</syntaxhighlight>
=== Problembehebung ===
=== Problembehebung ===
== Konfiguration ==
 
=== Dateien ===
<noinclude>
<noinclude>
== Anhang ==
== Anhang ==
=== Siehe auch ===
=== Siehe auch ===
{{Special:PrefixIndex/{{BASEPAGENAME}}}}
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}
==== Dokumentation ====
=== Dokumentation ===


===== Man-Page =====
; Man-Page
===== Info-Pages =====
;Info-Page
==== Links ====
=== Links ===
===== Projekt =====
==== Projekt ====
===== Weblinks =====
==== Weblinks ====


{{DEFAULTSORT:new}}
{{DEFAULTSORT:Hardlink}}
{{DISPLAYTITLE:new}}
{{DISPLAYTITLE:Hardlink}}


[[Kategorie:new]]
[[Kategorie:Hardlink]]


</noinclude>
</noinclude>
= TMP =

Aktuelle Version vom 22. März 2025, 00:48 Uhr

Hardlink - Verzeichniseintrag für eine existierende Datei

Beschreibung

Ein Hardlink ist Verzeichniseintrag für eine existierende Datei

  • (feste) Verknüpfung zwischen zwei Punkten
  • Keinen eigenen Inode
  • belegt nahezu keinen Speicherplatz im Dateisystem

Daraus ergeben sich völlig andere Eigenschaften im Vergleich zu einem symbolischen Link

  • Hardlinks können nicht auf Verzeichnisse angewandt werden, sondern nur auf Dateien
  • Hardlinks können nicht partitionsübergreifend eingesetzt werden
  • Es gibt keine verwaisten bzw.  gebrochenen Hardlinks
  • Eine Datei wird gelöscht, wenn der letzte Hardlink zu dieser Datei gelöscht wird
  • Die Zieldatei und der Hardlink verwenden eine gemeinsame Zugriffssteuerungsliste (ACL)
  • Ein Hardlink ist im Nachhinein nicht mehr von seiner Zieldatei zu unterscheiden

Wenn Sie das Kommando ln ohne Optionen verwenden, wird ein Hardlink erstellt

  • Die folgenden Kommandos demonstrieren die Eigenarten von Hardlinks
  • Zunächst werden zwei Hardlinks zu einer bestehenden Datei erstellt
  • Das Kommando ls-l zeigt das Ergebnis der Aktion
ln file1 hardlink1
ln file1 hardlink2
ls -l
 -rw-r--r-- 3 root root 22271 Jan 2 19:21 file1
 -rw-r--r-- 3 root root 22271 Jan 2 19:21 hardlink1
 -rw-r--r-- 3 root root 22271 Jan 2 19:21 hardlink2

Die drei Dateien sind offensichtlich gleich groß und verfügen auch sonst über dieselben Eigenschaften

  • Mit ls -li soll festgestellt werden, welche Inodes die Dateien jeweils belegen
ls -li
 1896921 -rw-r--r-- 3 root root 22271 Jan 2 19:21 file1
 1896921 -rw-r--r-- 3 root root 22271 Jan 2 19:21 hardlink1
 1896921 -rw-r--r-- 3 root root 22271 Jan 2 19:21 hardlink2

Alle drei Dateien verwenden dieselben Inode

  • Wenn Sie das Kommando stat auf eine der drei Dateien anwenden, sehen Sie zwei interessante Details
  • Erstens werden die Hardlinks als reguläre Dateien erkannt, und zweitens erkennt das Programm drei Links

Es wird also auch die ursprüngliche Datei als Link dargestellt

stat hardlink1
 File: `hardlink1'
 Size: 22271 Blocks: 48 IO Block: 4096 regular file
 Device: 302h/770d Inode: 1896921 Links: 3
 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
 Access: 2017-01-02 19:21:30.000000000 +0100
 Modify: 2017-01-02 19:21:30.000000000 +0100
 Change: 2017-01-02 19:21:46.000000000 +0100

Anwendung

Problembehebung

Anhang

Siehe auch

Dokumentation

Man-Page
Info-Page

Links

Projekt

Weblinks