Czy istnieje właściwy sposób odwołują /home/user/app/public
się /home/user/public_html
, biorąc pod uwagę fakt, że cel już istnieje?
Jeśli to zrobię ln -s /home/user/app/public /home/user/public_html
, skończę /home/user/public_html/public
.
Wydaje mi się, że byłoby możliwe odwrócenie takiej akcji, jak ln -s /home/user/public_html /home/user/app/public
, ale nie jestem pewien, jak tego uniknąć /home/user/app/public/public_html
w wyniku końcowym.
źródło
Jeśli dobrze rozumiem twoje pytanie, chciałeś wiedzieć, jak radzić sobie z już istniejącymi celami. W takim przypadku istnieją dwa możliwe scenariusze.
1) istniejącym celem jest plik. W takim przypadku możesz wymusić utworzenie dowiązania symbolicznego za pomocą „-f”
2) istniejącym celem jest katalog. W takim przypadku zależy to od bieżącej implementacji polecenia ln. To mogłoby mieć „-n” argumentu dostępne, co powoduje linku do katalogów być prawidłowo obsługiwane, zamiast powielać je jak mówisz.
Odniesienie: /unix/207294/create-symlink-overwrite-if-one-exists
źródło