Символьне посилання на вже існуючий каталог


12

Чи є правильний спосіб зв’язатися /home/user/app/publicз цим /home/user/public_html, враховуючи той факт, що мета вже існує?

Якщо я це роблю ln -s /home/user/app/public /home/user/public_html, я закінчую те, що маю /home/user/public_html/public.

Я думаю, що можна було б також обернути такі дії, як ln -s /home/user/public_html /home/user/app/public, однак, я не знаю, як цього уникнути /home/user/app/public/public_htmlяк кінцевий результат.

Відповіді:


13

Лемма зрозуміла ваше питання правильно

Ваше джерело є, /home/user/public_htmlі я припускаю, що в ньому є файли. І ви хочете зробити посилання на цей каталог прямо в /home/user/app/public. Тоді таким чином ви можете зробити щось на кшталт ls /home/user/app/publicі побачити файли, які існують на /home/user/public_html.

Якщо це правильно, то ваше джерело є, /home/user/public_htmlа ціль - це /home/user/app/public. Правильна команда така:

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

Просто переконайтесь, що /home/user/app/publicв команді введіть недійсний каталог чи попередній файл.


3
Це стара, але я думаю, що користувач запитав, як саме робити те, що ви описуєте, але, у випадку, якщо / home / user / app / public може вже існувати (що саме є застереженням, яке ви згадуєте наприкінці свого відповідь). Таким чином, IMHO не відповідає на початкове запитання, оскільки користувач хотів точно знати, як боротися з уже існуючою ціллю (тобто, як переосмислити її на симпосилання, без необхідності видаляти її до створення символьної посилання).
jotadepicas

Спробуйте -T варіант :)
Milkmannetje

2

Якщо я правильно розумію ваше запитання, ви хотіли знати, як боротися з уже наявними цілями. Якщо це так, є два можливі сценарії.

1) наявна ціль - файл. Якщо це так, ви можете примусити створити символьне посилання за допомогою "-f"

2) наявна ціль - це каталог. Якщо це так, то це залежить від вашої поточної реалізації команди ln. Він може мати аргумент "-n" доступний, що призводить до того, що символьне посилання на каталоги обробляється належним чином, а не дублює їх, як ви кажете.

Довідка: /unix/207294/create-symlink-overwrite-if-one-exists


Цікаво , чому downvote без коментарів: stackoverflow.com/help/privileges/vote-down
jotadepicas
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.