Erstellen Sie rekursiv Symlinks für einen ganzen Baum

12149
lzap

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 find und xargs machen? ;-)

19
Ich verstehe nicht die Idee. Wenn Sie beispielsweise einen Symlink mit dem Namen `/ tmp / somedirectory` erstellen, der auf` / home / me / somegreatdir` verweist, werden alle Inhalte von `somegreatdir` unter` / tmp / somedirectory` angezeigt. Dies erfordert nur einen ** Symlink für den gesamten Baum. Oder was willst du noch? jankes vor 12 Jahren 1

2 Antworten auf die Frage

22
Pablo Castellazzi

cp -rs source/ dest/ should do the trick. The directory structure will be recreated at dest/ with each file being a symlink to its counterpart in source.

Auch mein erster Versuch. Fehler beim Erstellen von "cp" zum Erstellen eines Symlinks für "source / some_deeper_dir / files". Jokester vor 11 Jahren 0
Nach meiner Erfahrung müssen Sie den vollständigen Pfad zur Quelle verwenden (z. B. "cp -Rs / home / myusername / source dest"), andernfalls wird es sich beschweren. Hier ist ein Ref: https://lists.gnu.org/archive/html/help-gnu-utils/2004-08/msg00039.html 22degrees vor 7 Jahren 1
1
Mikko Rantalainen

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