Erstellen Sie rekursiv Symlinks für einen ganzen Baum


20

Ich suche nach einem Befehl, der einen ganzen Baum von Dateien in einem anderen Verzeichnis neu erstellt. Ich würde es vorziehen, alle Symlinks absolut zu haben. Kann ich das mit einem Fund und Xargs machen? ;-)


1
Ich habe keine Ahnung. Wenn Sie beispielsweise einen Symlink mit dem Namen " /tmp/somedirectoryZeigen auf" erstellen /home/me/somegreatdir, wird der gesamte Inhalt von somegreatdirunter angezeigt /tmp/somedirectory. Dies erfordert nur einen Symlink für den gesamten Baum. Oder was willst du noch?
Jankes

Antworten:


26

cp -rs source/ dest/sollte den Trick machen. Die Verzeichnisstruktur wird unter dest / neu erstellt, wobei jede Datei einen Symlink zu ihrem Gegenstück in der Quelle darstellt.


Auch mein erster Versuch. Fehler beim cpErstellen des Symlinks für source/some_deeper_dir/files.
Jokester

1
Meiner Erfahrung nach müssen Sie den vollständigen Pfad zur Quelle verwenden (z. B. cp -Rs /home/myusername/source dest), sonst wird es sich beschweren. Hier ist ein Verweis
22 Grad

4

Falls dies cp -rsnicht die Antwort ist, nach der Sie suchen, ist dies lndirmöglicherweise die richtige Antwort.


Verarbeitet perfekt tiefe Unterverzeichnisstrukturen. Installierte es auf Debian mitsudo apt-get install xutils-dev
user299481
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.