Grundlagen von Linux und der Kommandozeile

$ echo hello > a.txt
$ ln a.txt h.txt
$ ln -s a.txt s.txt
$ rm a.txt
$ cat h.txt
$ cat s.txt

Welches Ergebnis liefern die letzten beiden cat-Befehle, wenn die obigen Befehle nacheinander ausgeführt werden?

  1. ASowohl h.txt als auch s.txt zeigt hello an
  2. BBei h.txt kommt der Fehler, dass die Datei nicht gefunden wird, und s.txt zeigt hello an
  3. Ch.txt zeigt hello an, und bei s.txt kommt der Fehler, dass die Datei nicht gefunden wird
Antwort und Erläuterung anzeigen

Antwort: C. h.txt zeigt hello an, und bei s.txt kommt der Fehler, dass die Datei nicht gefunden wird

Ein mit ln erzeugter Hardlink ist ein weiterer Name, der auf denselben Inode (den nummerierten Datensatz, der Inhalt und Attribute einer Datei verwaltet) zeigt wie die ursprüngliche Datei. rm a.txt entfernt nur den Namen a.txt; da der Name h.txt bestehen bleibt, wird der Inhalt nicht gelöscht, und cat h.txt zeigt hello an. Ein mit ln -s erzeugter symbolischer Link ist eine eigene Datei, deren Inhalt der Pfad „a.txt“ ist; sobald a.txt verschwunden ist, gibt es kein Ziel mehr, und cat s.txt meldet den Fehler „No such file or directory“. Ein symbolischer Link, dessen Ziel verschwunden ist, bleibt auf diese Weise als defekter Link bestehen.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Grundlagen von Linux und der Kommandozeile

  1. Ein Verzeichnis enthält die sechs Dateien a1.txt, a2.txt, a10.txt, b1.txt, c1.txt und a1.csv. Wie viele Dateien werden angezeigt, wenn in diesem Verzeichnis „ls [ab]?.txt“ ausgeführt wird?
  2. Nach „chmod 754 run.sh“ für die Datei run.sh: Welche Rechte-Notation steht am Anfang der Zeile, die „ls -l run.sh“ ausgibt?
  3. touch legt eine neue Datei ausgehend von 666 an und mkdir ein neues Verzeichnis ausgehend von 777, jeweils ohne die in der umask gesetzten Bits. Welche Kombination von Rechten ergibt sich für eine neue Datei und ein neues Verzeichnis, die in einer Shell mit umask 027 angelegt werden?
  4. Das Verzeichnis d hat die Rechte rwx--x--x (711), die Datei f.txt darin rw-r--r-- (644). Ein Benutzer, der weder Eigentümer noch Superuser ist, führt „ls d“ und „cat d/f.txt“ aus. Welches Ergebnis ist richtig?
  5. Welche Beschreibung des Befehls sudo unter Linux ist richtig?