dowiązanie symboliczne do już istniejącego katalogu


12

Czy istnieje właściwy sposób odwołują /home/user/app/publicsię /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_htmlw wyniku końcowym.

Odpowiedzi:


13

Pozwól mi zrozumieć twój problem we właściwy sposób

Twoje źródło jest /home/user/public_htmli zakładam, że ma tam pliki. I chcesz zrobić link do tego katalogu od razu /home/user/app/public. W ten sposób możesz zrobić coś takiego ls /home/user/app/publici zobaczyć, jakie pliki na nim istnieją /home/user/public_html.

Jeśli jest to poprawne, to twoje źródło jest, /home/user/public_htmla celem jest /home/user/app/public. Prawidłowe polecenie to:

ln -s /home/user/public_html /home/user/app/public

Upewnij się tylko, że /home/user/app/publicpoprzedni katalog lub plik nie jest prawidłowy. Wpisz polecenie.


3
To jest stary, ale myślę, że użytkownik zapytał dokładnie, jak zrobić to, co opisujesz, ale w przypadku, gdy / home / user / app / public może już istnieć (jest to dokładnie zastrzeżenie, o którym wspomniałeś na końcu odpowiedź). Więc IMHO nie odpowiada na pierwotne pytanie, ponieważ użytkownik chciał dokładnie wiedzieć, jak postępować z już istniejącym celem (tj. Jak zastąpić go dowiązaniem symbolicznym, bez konieczności usuwania go przed utworzeniem dowiązania symbolicznego).
jotadepicas

Wypróbuj -T opcja :)
Milkmannetje

2

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


Zastanawiam się, dlaczego głosowanie bez komentarza: stackoverflow.com/help/privileges/vote-down
jotadepicas
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.