[Tipp] Absolute Verknüpfungen in relative umwandeln

antu

NGBler
Registriert
11 Nov. 2013
Beiträge
396
Ort
/home/antu
Ich wollte gestern ein Verzeichnis von einer Partition auf eine andere verschieben, das Problem dabei war: Die Verknüpfungen in dem Verzeichnis waren alle absolut, d.h. sie fingen an mit "/mnt/sda1/<...>". Nach dem Kopieren hätte keine dieser Verknüpfungen mehr funktioniert. Es wäre ziemlich mühselig gewesen, die Verknüpfungen alle manuell zu korrigieren, glücklicherweise gibt es ein Programm das hier Abhilfe schafft: .

Mit symlinks kann man fehlerhafte Verknüpfungen reparieren und absolute Verknüpfungen zu relativen umwandeln. Um tote Verknüpfungen (solche, deren Ziel nicht mehr existiert) zu löschen, kann man symlinks -d <Verzeichnis> verwenden. Mit symlinks -c <Verzeichnis> werden unsaubere Verknüpfungen (die zu unnötige Slashes oder Punkte enthalten) gesäubert und absolute in relative Verknüpfungen umgewandelt. Damit symlinks rekursiv vorgeht, gibt man noch -r an. Mit -t kann man einen Testlauf machen, bei dem nur angezeigt wird, was symlinks tun würde.

Beispiel

[src=bash]ls -ladh Verknüpfung[/src]
[src=text]lrwxrwxrwx 1 antu antu 38 27. Jan 19:06 Verknüpfung -> /home/antu/Temporär/Testverzeichnis/[/src]
Verknüpfung verweist auf Testverzeichnis, mit einem absoluten Pfad. Mittels symlinks -c wird das korrigiert.
[src=bash]symlinks -c .[/src]
[src=text]absolute: /home/antu/Temporär/Verknüpfung -> /home/antu/Temporär/Testverzeichnis/
changed: /home/antu/Temporär/Verknüpfung -> Testverzeichnis[/src]
symlinks hat die Verknüpfung korrigiert. Aber noch mal zur Kontrolle:
[src=bash]ls -ladh Verknüpfung[/src]
[src=text]lrwxrwxrwx 1 antu antu 15 27. Jan 19:12 Verknüpfung -> Testverzeichnis[/src]
Jetzt hat Verknüpfung einen relativen Pfad.
 
Zurück
Oben