|
|
Zeile 48: |
Zeile 48: |
|
| |
|
| = TMP = | | = TMP = |
| === Hardlink ===
| |
| Bei einem Hardlink handelt es sich eigentlich nur um einen weiteren Verzeichniseintrag für eine existierende Datei
| |
| * Demzufolge belegt er auch keinen eigenen Inode und fast gar 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
| |
|
| |
| <syntaxhighlight lang="bash" highlight="1-3" line>
| |
| ln file1 hardlink1
| |
| ln file1 hardlink2
| |
| 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 hardlink1
| |
| -rw-r--r-- 3 root root 22271 Jan 2 19:21 hardlink2
| |
| </syntaxhighlight>
| |
|
| |
| 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
| |
|
| |
| <syntaxhighlight lang="bash" highlight="1" line>
| |
| 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 hardlink1
| |
| 1896921 -rw-r--r-- 3 root root 22271 Jan 2 19:21 hardlink2
| |
| </syntaxhighlight>
| |
|
| |
| 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
| |
| <syntaxhighlight lang="bash" highlight="1" line>
| |
| 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
| |
| </syntaxhighlight>
| |