Wenn eine Datei ist symbolisch mit sich selbst verknüpft sind, dann sind keine Daten vorhanden und jeder Versuch, darauf zuzugreifen, führt zu einer Schleife und schließlich zu einem Fehler
zB
$ ls -l myfile
lrwxrwxrwx 1 sweh sweh 19 Sep 9 22:38 myfile -> /path/to/here/myfile
$ cat myfile
cat: myfile: Too many levels of symbolic links
Da keine Daten vorhanden sind, werden durch das Löschen dieser symbolischen Links keine Daten verloren gehen, weil es vorhandene gibt Keine zu speichernden Daten.
Wenn Sie Too many levels of symbolic links
nicht erhalten Fehler, wenn Sie versuchen, cat
die Datei, dann ist Ihre Datei nicht ein Link zu sich selbst.
ln
wird nie eine Datei mit einem Link auf sich selbst überschreiben. Sie können eine Datei mit sich selbst verknüpfen mit:
$ ln -s `pwd`/myfile myfile
$ ls -l myfile
lrwxrwxrwx 1 grochmal users 25 Sep 10 03:41 myfile -> /home/grochmal/tmp/myfile
Aber wenn Sie es mit einer Datei versuchen, die Daten enthält:
$ rm -f myfile
$ echo yay > myfile
$ ln -sf `pwd`/myfile myfile
ln: '/home/grochmal/tmp/myfile' and 'myfile' are the same file
ln
, überschreibt andererseits eine Datei mit einem Link zu einer anderen Datei.
Sie können jedoch ziemlich sicher sein, dass ein Link zu sich selbst eine Datei ist, die niemals Daten hatte (oder explizit gelöscht wurde, bevor der Softlink erstellt wurde).
(unter Linux und mit ln
ab coreutils
, das heißt)