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? ;-)
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.
/tmp/somedirectory
Zeigen auf" erstellen/home/me/somegreatdir
, wird der gesamte Inhalt vonsomegreatdir
unter angezeigt/tmp/somedirectory
. Dies erfordert nur einen Symlink für den gesamten Baum. Oder was willst du noch?Antworten:
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.quelle
cp
Erstellen des Symlinks fürsource/some_deeper_dir/files
.cp -Rs /home/myusername/source dest
), sonst wird es sich beschweren. Hier ist ein VerweisFalls dies
cp -rs
nicht die Antwort ist, nach der Sie suchen, ist dieslndir
möglicherweise die richtige Antwort.quelle
sudo apt-get install xutils-dev