Utwórz dowiązania symboliczne rekurencyjnie dla całego drzewa

19

Szukam polecenia, które ponownie utworzyłoby całe drzewo plików w innym katalogu. Wolałbym mieć wszystkie dowiązania symboliczne absolutne. Czy mogę to zrobić za pomocą find i xargs? ;-)

lzap
źródło
1
Nie rozumiem. Jeśli na przykład utworzysz dowiązanie symboliczne o nazwie /tmp/somedirectory wskazywać na /home/me/somegreatdir, a następnie cała zawartość somegreatdir będzie widoczny pod /tmp/somedirectory. To wystarczy jeden dowiązanie symboliczne dla całego drzewa. Albo czego jeszcze chcesz?
jankes

Odpowiedzi:

22

cp -rs source/ dest/ powinien załatwić sprawę. Struktura katalogów zostanie utworzona w witrynie desk / z każdym plikiem będącym dowiązaniem symbolicznym do jego odpowiednika w źródle.

Pablo Castellazzi
źródło
Również moja pierwsza próba. Nie udało się uzyskać cp utworzyć dowiązanie symboliczne dla source/some_deeper_dir/files.
Jokester
1
Z mojego doświadczenia wynika, że ​​musisz użyć pełnej ścieżki do źródła (np. cp -Rs /home/myusername/source dest ) w przeciwnym razie narzeka. oto ref: lists.gnu.org/archive/html/help-gnu-utils/2004-08/msg00039.html
22degrees
1

W razie gdyby cp -rs nie jest odpowiedzią, której szukasz, lndir może być poprawna odpowiedź.

Mikko Rantalainen
źródło