BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

Symbolische Links aufräumen

Mit Hilfe von symlinks lassen sich symbolische Links innerhalb eines Systems finden und deren Status angezeigen. Im FreeBSD Portbaum findet man symlinks unter sysutils/symlinks:

# cd /usr/ports/sysutils/symlinks && make install clean

Nun kann mit Hilfe von symlinks in einem Verzeichnis (in diesem Beispiel das Verzeichnis c) nach symbolischen Links gesucht werden. Mit der -v Option werden auch relative Links angezeigt. Die -s Option sucht nach Links welche ihr Ziel auch auf einem kürzerem Weg erreichen könnten. Diese werden als "lenghty" gekennzeichnet. Links welche als "dangling" markiert sind, zeigen auf ein Ziel welches nicht mehr existiert. Als "messy" gekennzeichnete Links enthalten unnötige Zeichen:

# symlinks -sv c
relative: /tmp/a/b/c/foo -> ../foo
absolute: /tmp/a/b/c/bar -> /tmp/a/b/foo
lengthy:  /tmp/a/b/c/ok -> ../c/test
dangling: /tmp/a/b/c/fail -> ../c/tes
messy:    /tmp/a/b/c/mess -> ../c//test

Mit der -d Option können nun Links entfernt werden, deren Ziel nicht mehr existiert:

# symlinks -d c
absolute: /tmp/a/b/c/bar -> /tmp/a/b/foo
dangling: /tmp/a/b/c/fail -> ../c/tes
deleted:  /tmp/a/b/c/fail -> ../c/tes
messy:    /tmp/a/b/c/mess -> ../c//test

Verwendet man die -r Option, können auch Verzeichnisse rekursiv nach symbolischen Links durchsucht werden. Durch die -c Option können absolute in relative Links umgewandelt werden. Ausserdem werden dabei überflüssige Zeichen aus den Links entfernt. Mit der -t Option können die Änderungen zuerst begutachtet werden, ohne das diese ausgeführt werden:

#  symlinks -rt b
absolute: /tmp/a/b/c/bar -> /tmp/a/b/foo
changed:  /tmp/a/b/c/bar -> ../../../../tmp/a/b/foo
messy:    /tmp/a/b/c/mess -> ../c//test
changed:  /tmp/a/b/c/mess -> ../c/test
# symlinks -rc b
absolute: /tmp/a/b/c/bar -> /tmp/a/b/foo
changed:  /tmp/a/b/c/bar -> ../../../../tmp/a/b/foo
messy:    /tmp/a/b/c/mess -> ../c//test
changed:  /tmp/a/b/c/mess -> ../c/test

Mehr Informationen zu symlinks findet man in der Manpage symlinks(8).

 Permalink

Comments

No new comments allowed (anymore) on this post.