Linux Professional Institute Learning Logo.
Weiter zum Inhalt
  • Home
    • Alle Ressourcen
    • LPI Lernmaterialien
    • Mitmachen
    • Publishing Partner
    • Publishing Partner werden
    • Über uns
    • FAQ
    • Mitwirkende
    • Roadmap
    • Kontakt
  • LPI.org
104.6 Lektion 1
Thema 101: Systemarchitektur
101.1 Hardwareeinstellungen ermitteln und konfigurieren
  • 101.1 Lektion 1
101.2 Das System starten
  • 101.2 Lektion 1
101.3 Runlevel wechseln und das System anhalten oder neu starten
  • 101.3 Lektion 1
Thema 102: Linux-Installation und -Paketverwaltung
102.1 Festplattenaufteilung planen
  • 102.1 Lektion 1
102.2 Einen Bootmanager installieren
  • 102.2 Lektion 1
102.3 Shared Libraries verwalten
  • 102.3 Lektion 1
102.4 Debian-Paketverwaltung verwenden
  • 102.4 Lektion 1
102.5 RPM und YUM-Paketverwaltung verwenden
  • 102.5 Lektion 1
102.6 Linux als Virtualisierungs-Gast
  • 102.6 Lektion 1
Thema 103: GNU- und Unix-Befehle
103.1 Auf der Befehlszeile arbeiten
  • 103.1 Lektion 1
  • 103.1 Lektion 2
103.2 Textströme mit Filtern verarbeiten
  • 103.2 Lektion 1
103.3 Grundlegende Dateiverwaltung
  • 103.3 Lektion 1
  • 103.3 Lektion 2
103.4 Ströme, Pipes und Umleitungen verwenden
  • 103.4 Lektion 1
  • 103.4 Lektion 2
103.5 Prozesse erzeugen, überwachen und beenden
  • 103.5 Lektion 1
  • 103.5 Lektion 2
103.6 Prozess-Ausführungsprioritäten ändern
  • 103.6 Lektion 1
103.7 Textdateien mit regulären Ausdrücken durchsuchen
  • 103.7 Lektion 1
  • 103.7 Lektion 2
103.8 Grundlegendes Editieren von Dateien
  • 103.8 Lektion 1
Thema 104: Geräte, Linux-Dateisysteme, Filesystem Hierarchy Standard
104.1 Partitionen und Dateisysteme anlegen
  • 104.1 Lektion 1
104.2 Die Integrität von Dateisystemen sichern
  • 104.2 Lektion 1
104.3 Das Mounten und Unmounten von Dateisystemen steuern
  • 104.3 Lektion 1
104.5 Dateizugriffsrechte und -eigentümerschaft verwalten
  • 104.5 Lektion 1
104.6 Symbolische und Hardlinks anlegen und ändern
  • 104.6 Lektion 1
104.7 Systemdateien finden und Dateien am richtigen Ort plazieren
  • 104.7 Lektion 1
How to get certified
  1. Thema 104: Geräte, Linux-Dateisysteme, Filesystem Hierarchy Standard
  2. 104.6 Symbolische und Hardlinks anlegen und ändern
  3. 104.6 Lektion 1

104.6 Lektion 1

Zertifikat:

LPIC-1

Version:

5.0

Thema:

104 Geräte, Linux-Dateisysteme, Filesystem Hierarchy Standard

Lernziel:

104.6 Symbolische und Hardlinks anlegen und ändern

Lektion:

1 von 1

Einleitung

Unter Linux erhalten einige Dateien eine besondere Behandlung, entweder aufgrund des Speicherortes, wie z. B. temporäre Dateien, oder aufgrund der Art und Weise, wie sie mit dem Dateisystem interagieren, wie z. B. Links. In dieser Lektion erfahren Sie, was Links sind und Sie diese verwalten.

Verstehen von Links

Wie bereits erwähnt, wird unter Linux alles wie eine Datei behandelt. Aber es gibt eine spezielle Art von Datei, die Link genannt wird, und es gibt zwei Arten von Links auf einem Linux-System:

Symbolische Links

Auch soft links genannt, verweisen auf den Pfad einer anderen Datei. Wenn Sie die Datei löschen, auf die der Link zeigt (genannt Ziel), existiert der Link immer noch, aber er “funktioniert nicht mehr”, da er nun auf “nichts” zeigt.

Harte Links

Stellen Sie sich einen Hardlink als einen zweiten Namen für die Originaldatei vor. Sie sind keine Duplikate, sondern ein zusätzlicher Eintrag im Dateisystem, der auf dieselbe Stelle (Inode) auf der Platte zeigt.

Tip

Eine Inode ist eine Datenstruktur, die Attribute für ein Objekt (wie eine Datei oder ein Verzeichnis) in einem Dateisystem speichert. Zu diesen Attributen gehören Berechtigungen, Eigentümer und auf welchen Blöcken der Festplatte die Daten für das Objekt gespeichert sind. Stellen Sie sich das wie einen Eintrag in einem Index vor, daher der Name, der von “Indexknoten (index node)” stammt.

Arbeiten mit harten Links

Harte Links erstellen

Der Befehl zum Erstellen eines harten Links unter Linux lautet ln. Die grundlegende Syntax stellt sich wie folgt dar:

$ ln TARGET LINK_NAME

Das TARGET (Ziel) muss bereits existieren (das ist die Datei, auf die der Link zeigen wird), und wenn sich das Ziel nicht im aktuellen Verzeichnis befindet oder wenn Sie den Link an anderer Stelle erstellen wollen, müssen Sie den vollständigen Pfad dazu angeben. Zum Beispiel, der Befehl:

$ ln target.txt /home/carol/Documents/hardlink

erstellt eine Datei namens hardlink im Verzeichnis /home/carol/Documents/, die mit der Datei target.txt im aktuellen Verzeichnis verknüpft ist.

Wenn Sie den letzten Parameter (LINK_NAME) weglassen, wird ein Link mit dem gleichen Namen wie das Ziel im aktuellen Verzeichnis erstellt.

Verwaltung harter Links

Harte Links sind Einträge im Dateisystem, die unterschiedliche Namen haben, aber auf die gleichen Daten auf der Festplatte zeigen. Alle solchen Namen sind gleich und können verwendet werden, um auf eine Datei zu verweisen. Wenn Sie den Inhalt eines der Namen ändern, ändert sich der Inhalt aller anderen Namen, die auf diese Datei zeigen, da alle diese Namen auf dieselben Daten verweisen. Wenn Sie einen der Namen löschen, funktionieren die anderen Namen weiterhin.

Dies geschieht, weil beim “Löschen” einer Datei die Daten nicht wirklich von der Festplatte gelöscht werden. Das System löscht lediglich den Eintrag in der Dateisystemtabelle, der auf den Inode verweist, der den Daten auf der Platte entspricht. Wenn Sie aber einen zweiten Eintrag haben, der auf denselben Inode zeigt, können Sie immer noch auf die Daten zugreifen. Stellen Sie sich das wie zwei Straßen vor, die auf denselben Punkt zulaufen. Selbst wenn Sie eine der Straßen blockieren oder umleiten, können Sie das Ziel immer noch über die andere Straße erreichen.

Sie können dies mittels des Parameters -i von ls überprüfen. Betrachten Sie den folgenden Inhalt eines Verzeichnisses:

$ ls -li
total 224
3806696 -r--r--r-- 2 carol carol 111702 Jun  7 10:13 hardlink
3806696 -r--r--r-- 2 carol carol 111702 Jun  7 10:13 target.txt

Die Zahl vor den Berechtigungen ist die Inodenummer. Sehen Sie, dass sowohl die Datei hardlink als auch die Datei target.txt die gleiche Nummer besitzen (3806696)? Das liegt daran, dass die eine Datei ein Hardlink der Anderen ist.

Aber welches ist das Original und welches ist der Link? Das kann man nicht sagen, denn in der Praxis sind beide gleich.

Beachten Sie, dass jeder harte Link, der auf eine Datei zeigt, die Linkanzahl der Datei erhöht. Dies ist die Zahl direkt nach den Berechtigungen in der Ausgabe von ls -l. Standardmäßig hat jede Datei eine Linkanzahl von 1 (Verzeichnisse haben eine Anzahl von 2), und jeder harte Link auf sie erhöht die Anzahl um eins. Das ist also der Grund für die Linkanzahl von 2 bei den Dateien in der obigen Auflistung.

Im Gegensatz zu symbolischen Links können harte Links nur auf Dateien erstellt werden, und sowohl der Link als auch das Ziel müssen sich im selben Dateisystem befinden.

Verschieben und Entfernen von harten Links

Da harte Links wie normale Dateien behandelt werden, können sie mit rm gelöscht und mit mv umbenannt oder im Dateisystem verschoben werden. Und da ein harter Link auf denselben Inode des Ziels zeigt, kann er frei verschoben werden, ohne dass man befürchten muss, den Link zu zerstören.

Symbolische Links

Symbolische Verknüpfungen erstellen

Der Befehl zum Erstellen eines symbolischen Links ist ebenfalls ln, aber mit dem zusätzlichen Parameter -s. Etwa so:

$ ln -s target.txt /home/carol/Documents/softlink

Dadurch wird eine Datei namens softlink im Verzeichnis /home/carol/Documents/ erstellt, die auf die Datei target.txt im aktuellen Verzeichnis zeigt.

Wie bei harten Links können Sie den Linknamen weglassen, um einen Link mit demselben Namen wie das Ziel im aktuellen Verzeichnis zu erstellen.

Symbolische Verknüpfungen verwalten

Symbolische Links verweisen auf einen anderen Pfad im Dateisystem. Sie können Softlinks auf Dateien und Verzeichnisse anlegen, auch auf verschiedenen Partitionen. Es ist ziemlich einfach, einen symbolischen Link anhand der Ausgabe des Befehls ls zu erkennen:

$ ls -lh
total 112K
-rw-r--r-- 1 carol carol 110K Jun  7 10:13 target.txt
lrwxrwxrwx 1 carol carol   12 Jun  7 10:14 softlink -> target.txt

Im obigen Beispiel ist das erste Zeichen bei den Berechtigungen für die Datei softlink ein l, was auf einen symbolischen Link hinweist. Außerdem sehen Sie direkt nach dem Dateinamen den Namen des Ziels, auf das der Link zeigt, die Datei target.txt.

Beachten Sie, dass bei Datei- und Verzeichnisauflistungen symbolischen Links selbst immer die Berechtigungen rwx für den Benutzer, die Gruppe und den Rest der Welt anzeigen, aber in der Praxis sind die Zugriffsberechtigungen dieselben wie für das Ziel.

Verschieben und Entfernen von symbolischen Verknüpfungen

Wie harte Links können auch symbolische Links mit rm entfernt und mit mv verschoben oder umbenannt werden. Allerdings sollte man beim Anlegen besondere Vorsicht walten lassen, um zu vermeiden, dass der Link “kaputt” geht, wenn er von seinem ursprünglichen Ort verschoben wird.

Beim Erstellen von symbolischen Links sollten Sie beachten, dass die Position des Ziels als relativ zur Position des Links interpretiert wird, wenn kein absoluter Zielpfad angegeben ist. Dies kann zu Problemen führen, wenn der Link oder die Datei, auf die er zeigt, verschoben wird.

Dies ist anhand eines Beispiels leichter zu verstehen. Sagen wir, Sie haben eine Datei namens original.txt im aktuellen Verzeichnis, und Sie wollen einen symbolischen Link zu dieser Datei namens softlink erstellen. Lassen Sie uns wie folgt vorgehen:

$ ln -s original.txt softlink

Und scheinbar ist alles in Ordnung. Lassen Sie uns das mit ls überprüfen:

$ ls -lh
total 112K
-r--r--r-- 1 carol carol 110K Jun  7 10:13 original.txt
lrwxrwxrwx 1 carol carol   12 Jun  7 19:23 softlink -> original.txt

Schauen wir uns an wie der Link aufgebaut ist: softlink zeigt auf (→) original.txt. Was passiert jedoch, wenn Sie den Link in das übergeordnete Verzeichnis verschieben und versuchen, seinen Inhalt mit dem Befehl less anzuzeigen:

$ mv softlink ../
$ less ../softlink
../softlink: No such file or directory

Da der Pfad zu original.txt nicht angegeben wurde, geht das System davon aus, dass er sich im gleichen Verzeichnis wie der Link befindet. Wenn dies nicht mehr der Fall ist, funktioniert der Link nicht mehr.

Die Möglichkeit, dies zu verhindern, besteht darin, beim Erstellen der Verknüpfung immer den vollständigen (absoluten) Pfad zum Ziel anzugeben:

$ ln -s /home/carol/Documents/original.txt softlink

Auf diese Weise funktioniert der Link, egal wohin der Link verschoben wird, da er auf die absolute Position des Ziels zeigt. Überprüfen wir dies mittels ls:

$ ls -lh
total 112K
lrwxrwxrwx 1 carol carol   40 Jun  7 19:34 softlink -> /home/carol/Documents/original.txt

Geführte Übungen

  1. Wie lautet der Parameter für chmod im symbolischen Modus, um das Sticky Bit für ein Verzeichnis zu aktivieren?

  2. Stellen Sie sich vor, es gibt eine Datei namens document.txt im Verzeichnis /home/carol/Documents. Wie lautet der Befehl, um einen symbolischen Link darauf namens text.txt im aktuellen Verzeichnis zu erstellen?

  3. Erklären Sie den Unterschied zwischen einem harten Link zu einer Datei und einer Kopie dieser Datei.

Offene Übungen

  1. Stellen Sie sich vor, dass Sie innerhalb eines Verzeichnisses eine Datei namens recipes.txt erstellen. Innerhalb dieses Verzeichnisses erstellen Sie auch einen harten Link zu dieser Datei, namens receitas.txt, und einen symbolischen (oder soft) Link zu dieser namens rezepte.txt.

    $ touch recipes.txt
    $ ln recipes.txt receitas.txt
    $ ln -s recipes.txt rezepte.txt

    Der Inhalt des Verzeichnisses sollte folgendermaßen aussehen:

    $ ls -lhi
    total 160K
    5388833 -rw-r--r-- 4 carol carol 77K jun 17 17:25 receitas.txt
    5388833 -rw-r--r-- 4 carol carol  0K jun 17 17:25 recipes.txt
    5388837 lrwxrwxrwx 1 carol carol  12 jun 17 17:25 rezepte.txt -> receitas.txt

    Denken Sie daran, dass receitas.txt als Hardlink auf denselbe Inode zeigt, der auch rezepte.txt zugewiesen ist. Was würde mit dem Softlink rezepte.txt passieren, wenn die Datei receitas.txt gelöscht wird? Warum?

  2. Stellen Sie sich vor, Sie haben ein Flashlaufwerk in Ihr System eingesteckt und unter /media/youruser/FlashA eingebunden. Sie möchten in Ihrem Homeverzeichnis einen Link namens schematics.pdf erstellen, der auf die Datei esquema.pdf im Stammverzeichnis des Flashlaufwerks zeigt. Sie geben also den Befehl ein:

    $ ln /media/youruser/FlashA/esquema.pdf ~/schematics.pdf

    Was würde passieren? Warum?

  3. Betrachten Sie die folgende Ausgabe von ls -lah:

    $ ls -lah
    total 3,1M
    drwxr-xr-x 2 carol carol 4,0K jun 17 17:27 .
    drwxr-xr-x 5 carol carol 4,0K jun 17 17:29 ..
    -rw-rw-r-- 1 carol carol 2,8M jun 17 15:45 compressed.zip
    -rw-r--r-- 4 carol carol  77K jun 17 17:25 document.txt
    -rw-rw-r-- 1 carol carol 216K jun 17 17:25 image.png
    -rw-r--r-- 4 carol carol  77K jun 17 17:25 text.txt
    • Wie viele Links zeigen auf die Datei document.txt?

    • Sind es symbolische oder harte Links?

    • Welchen Parameter sollten Sie an ls übergeben, um zu sehen, welchen Inode jede Datei beansprucht?

  4. Stellen Sie sich vor, Sie haben in Ihrem Verzeichnis ~/Documents eine Datei namens clients.txt, die einige Clientnamen enthält, und ein Verzeichnis namens somedir. Darin befindet sich eine andere Datei namens clients.txt mit anderen Namen. Um diese Struktur zu replizieren, verwenden Sie die folgenden Befehle.

    $ cd ~/Documents
    $ echo "John, Michael, Bob" > clients.txt
    $ mkdir somedir
    $ echo "Bill, Luke, Karl" > somedir/clients.txt

    Dann erstellen Sie innerhalb von somedir einen Link namens partners.txt, der auf diese Datei zeigt, mit den Befehlen:

    $ cd somedir/
    $ ln -s clients.txt partners.txt

    Die Verzeichnisstruktur stellt sich also wie folgt dar:

    Documents
    |-- clients.txt
    `-- somedir
        |-- clients.txt
        `-- partners.txt -> clients.txt

    Nun verschieben Sie partners.txt von somedir nach ~/Documents und listen den Inhalt auf.

    $ cd ~/Documents/
    $ mv somedir/partners.txt .
    $ less partners.txt

    Wird der Link trotzdem funktionieren? Wenn ja, welcher Dateiinhalt wird aufgelistet? Warum?

  5. Betrachten Sie die folgenden Dateien:

    -rw-r--r-- 1 carol carol 19 Jun 24 11:12 clients.txt
    lrwxrwxrwx 1 carol carol 11 Jun 24 11:13 partners.txt -> clients.txt

    Wie lauten die Zugriffsrechte für partners.txt? Warum?

Zusammenfassung

In dieser Lektion haben Sie gelernt:

  • Was Links sind.

  • Der Unterschied zwischen symbolischen und harten Links.

  • Wie man Links erstellt.

  • Wie man Links verschiebt, umbenennt oder entfernt.

Die folgenden Befehle wurden in dieser Lektion besprochen:

  • ln: Der Befehl “link”. Von sich aus erzeugt dieser Befehl einen harten Link. Mit dem Schalter -s kann ein symbolischer oder soft Link erzeugt werden. Denken Sie daran, dass sich harte Links nur auf derselben Partition und demselben Dateisystem befinden können, während symbolische Links über Partitionen und Dateisysteme hinweggehen können (sogar über Netzwerkspeicher).

  • Der Parameter -i für ls, mit dem man die Inodenummer für eine Datei anzeigen kann.

Lösungen zu den geführten Übungen

  1. Wie lautet der Parameter für chmod im symbolischen Modus, um das Sticky Bit für ein Verzeichnis zu aktivieren?

    Das Symbol für das Sticky Bit im symbolischen Modus ist t. Da wir diese Berechtigung für das Verzeichnis aktivieren (hinzufügen) wollen, lautet der Parameter +t.

  2. Stellen Sie sich vor, es gibt eine Datei namens document.txt im Verzeichnis /home/carol/Documents. Wie lautet der Befehl, um einen symbolischen Link darauf namens text.txt im aktuellen Verzeichnis zu erstellen?

    ln -s ist der Befehl zum Erstellen eines symbolischen Links. Da Sie den vollständigen Pfad zu der Datei angeben sollten, auf die Sie verlinken, lautet der Befehl:

    $ ln -s /home/carol/Documents/document.txt text.txt
  3. Erklären Sie den Unterschied zwischen einem harten Link zu einer Datei und einer Kopie dieser Datei.

    Ein Hardlink ist nur ein anderer Name für eine Datei. Auch wenn er wie ein Duplikat der Originaldatei aussieht, sind der Link und das Original in jeder Hinsicht identisch, da sie auf dieselben Daten auf der Festplatte verweisen. Änderungen, die am Inhalt des Links vorgenommen werden, werden auf das Original übertragen und umgekehrt. Eine Kopie ist eine völlig unabhängige Einheit, die einen anderen Platz auf der Festplatte einnimmt. Änderungen an der Kopie werden nicht auf das Original übertragen und umgekehrt.

Lösungen zu den offenen Übungen

  1. Stellen Sie sich vor, dass Sie innerhalb eines Verzeichnisses eine Datei namens recipes.txt erstellen. Innerhalb dieses Verzeichnisses erstellen Sie auch einen harten Link zu dieser Datei, namens receitas.txt, und einen symbolischen (oder soft) Link zu dieser namens rezepte.txt.

    $ touch recipes.txt
    $ ln recipes.txt receitas.txt
    $ ln -s receitas.txt rezepte.txt

    Der Inhalt des Verzeichnisses sollte folgendermaßen aussehen:

    $ ls -lhi
    total 160K
    5388833 -rw-r--r-- 4 carol carol 77K jun 17 17:25 receitas.txt
    5388833 -rw-r--r-- 4 carol carol  0K jun 17 17:25 recipes.txt
    5388837 lrwxrwxrwx 1 carol carol  12 jun 17 17:25 rezepte.txt -> receitas.txt

    Denken Sie daran, dass receitas.txt als Hardlink auf denselben Inode zeigt wie rezepte.txt. Was würde mit dem Softlink rezepte.txt passieren, wenn die Datei receitas.txt gelöscht wird? Warum?

    Der Softlink rezepte.txt würde nicht mehr funktionieren. Das liegt daran, dass Softlinks auf Namen und nicht auf Inodes verweisen und der Name rezepte.txt nicht mehr existiert, auch wenn die Daten noch unter dem Namen rezepte.txt auf der Festplatte vorhanden sind.

  2. Stellen Sie sich vor, Sie haben ein Flashlaufwerk in Ihr System eingesteckt und unter /media/youruser/FlashA eingebunden. Sie möchten in Ihrem Homeverzeichnis einen Link namens schematics.pdf erstellen, der auf die Datei esquema.pdf im Stammverzeichnis des Flashlaufwerks zeigt. Sie geben also den Befehl ein:

    $ ln /media/youruser/FlashA/esquema.pdf ~/schematics.pdf

    Was würde passieren? Warum?

    Der Befehl würde fehlschlagen. Die Fehlermeldung würde Invalid cross-device link (ungültiger geräteübergreifender Link) lauten, und macht den Grund deutlich: Harte Links können nicht auf ein Ziel in einer anderen Partition oder einem anderen Gerät zeigen. Die einzige Möglichkeit, einen solchen Link zu erstellen, ist die Verwendung eines symbolischen oder soften Links, indem Sie den Parameter -s zu ln hinzufügen.

  3. Betrachten Sie die folgende Ausgabe von ls -lah:

    $ ls -lah
    total 3,1M
    drwxr-xr-x 2 carol carol 4,0K jun 17 17:27 .
    drwxr-xr-x 5 carol carol 4,0K jun 17 17:29 ..
    -rw-rw-r-- 1 carol carol 2,8M jun 17 15:45 compressed.zip
    -rw-r--r-- 4 carol carol  77K jun 17 17:25 document.txt
    -rw-rw-r-- 1 carol carol 216K jun 17 17:25 image.png
    -rw-r--r-- 4 carol carol  77K jun 17 17:25 text.txt
    • Wie viele Links zeigen auf die Datei document.txt?

      Jede Datei beginnt mit einer Linkanzahl von 1. Da die Anzahl der Links für die Datei 4 ist, gibt es drei Links, die auf diese Datei zeigen.

    • Sind es symbolische oder harte Links?

      Es sind harte Links, da Softlinks die Linkanzahl einer Datei nicht erhöhen.

    • Welchen Parameter sollten Sie an ls übergeben, um zu sehen, welchen Inode jede Datei beansprucht?

      Der Parameter ist -i. Der Inode wird als erste Spalte in der Ausgabe von ls angezeigt, wie unten zu sehen:

      $ ls -lahi
      total 3,1M
      5388773 drwxr-xr-x 2 carol carol 4,0K jun 17 17:27 .
      5245554 drwxr-xr-x 5 carol carol 4,0K jun 17 17:29 ..
      5388840 -rw-rw-r-- 1 carol carol 2,8M jun 17 15:45 compressed.zip
      5388833 -rw-r--r-- 4 carol carol  77K jun 17 17:25 document.txt
      5388837 -rw-rw-r-- 1 carol carol 216K jun 17 17:25 image.png
      5388833 -rw-r--r-- 4 carol carol  77K jun 17 17:25 text.txt
  4. Stellen Sie sich vor, Sie haben in Ihrem Verzeichnis ~/Documents eine Datei namens clients.txt, die einige Clientnamen enthält, und ein Verzeichnis namens somedir. Darin befindet sich eine andere Datei namens clients.txt mit anderen Namen. Um diese Struktur zu replizieren, verwenden Sie die folgenden Befehle.

    $ cd ~/Documents
    $ echo "John, Michael, Bob" > clients.txt
    $ mkdir somedir
    $ echo "Bill, Luke, Karl" > somedir/clients.txt

    Dann erstellen Sie innerhalb von somedir einen Link namens partners.txt, der auf diese Datei zeigt, mit den Befehlen:

    $ cd somedir/
    $ ln -s clients.txt partners.txt

    Die Verzeichnisstruktur stellt sich also wie folgt dar:

    Documents
    |-- clients.txt
    `-- somedir
        |-- clients.txt
        `-- partners.txt -> clients.txt

    Nun verschieben Sie partners.txt von somedir nach ~/Documents und listen den Inhalt auf.

    $ cd ~/Documents/
    $ mv somedir/partners.txt .
    $ less partners.txt

    Wird der Link trotzdem funktionieren? Wenn ja, welcher Dateiinhalt wird aufgelistet? Warum?

    Das ist etwas “knifflig”, aber der Link wird funktionieren, und die aufgelistete Datei werden diejenige in ~/Documents entsprechen, die die Namen John, Michael und Bob enthält.

    Denken Sie daran, dass, da Sie beim Erstellen des Softlinks partners.txt nicht den vollständigen Pfad zum Ziel clients.txt angegeben haben. Der Zielspeicherort als relativ zum Speicherort des Links interpretiert, der in diesem Fall das aktuelle Verzeichnis ist.

    Als der Link von ~/Documents/somedir nach ~/Documents verschoben wurde, sollte er nicht mehr funktionieren, da sich das Ziel nicht mehr im selben Verzeichnis wie der Link befindet. Zufälligerweise gibt es jedoch eine Datei namens clients.txt in ~/Dokumente, so dass der Link auf diese Datei verweist, statt auf das ursprüngliche Ziel in ~/somedir.

    Um dies zu vermeiden, geben Sie beim Erstellen eines symbolischen Links immer den absoluten Pfad der Zieldatei an.

  5. Betrachten Sie die folgenden Dateien:

    -rw-r--r-- 1 carol carol 19 Jun 24 11:12 clients.txt
    lrwxrwxrwx 1 carol carol 11 Jun 24 11:13 partners.txt -> clients.txt

    Wie lauten die Zugriffsrechte für partners.txt? Warum?

    Die Zugriffsrechte für partners.txt entsprechen rw-r—​r--, da Links immer die gleichen Zugriffsrechte wie deren Ziel innehaben.

Linux Professional Insitute Inc. Alle Rechte vorbehalten. Besuchen Sie die LPI Learning Website: https://learning.lpi.org
Dieses Werk steht unter der Lizenz Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International.

Nächste Lektion

104.7 Systemdateien finden und Dateien am richtigen Ort plazieren (104.7 Lektion 1)

Nächste Lektion lesen

Linux Professional Insitute Inc. Alle Rechte vorbehalten. Besuchen Sie die LPI Learning Website: https://learning.lpi.org
Dieses Werk steht unter der Lizenz Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International.

LPI ist eine Non-Profit-Organisation.

© 2023 Linux Professional Institute (LPI) ist eine globale Organisation für Zertifizierungsstandards und zur Karriereplanung für Open-Source-Profis. Mit mehr als 200.000 Zertifikatsinhabern ist es die weltweit erste und größte herstellerneutrale Linux- und Open-Source-Zertifizierungsstelle. LPI verfügt über zertifizierte Fachleute in über 180 Ländern, bietet Prüfungen in mehreren Sprachen an und hat Hunderte von Trainingspartnern.

Unser Ziel ist es, wirtschaftliche und kreative Möglichkeiten für alle zu ermöglichen, indem wir Open-Source-Wissens- und Kompetenzzertifizierungen allgemein zugänglich machen.

  • LinkedIn
  • flogo-RGB-HEX-Blk-58 Facebook
  • Twitter
  • Kontaktieren Sie uns
  • Datenschutz und Cookie-Richtlinien

Haben Sie einen Fehler entdeckt oder möchten Sie helfen, diese Seite zu verbessern? Lassen Sie es uns wissen.

© 1999–2023 The Linux Professional Institute Inc. Alle Rechte vorbehalten.