Existe-t-il un moyen approprié d'établir un lien /home/user/app/public
avec /home/user/public_html
, compte tenu du fait que la cible existe déjà?
Si je le fais ln -s /home/user/app/public /home/user/public_html
, je finis par avoir /home/user/public_html/public
.
Je suppose qu'il serait également possible d'inverser l'action telle que ln -s /home/user/public_html /home/user/app/public
, mais je ne sais pas comment l'éviter /home/user/app/public/public_html
comme résultat final.
la source
Si je comprends bien votre question, vous vouliez savoir comment gérer les cibles déjà existantes. Si tel est le cas, il existe deux scénarios possibles.
1) la cible existante est un fichier. Si tel est le cas, vous pouvez forcer la création du lien symbolique avec "-f"
2) la cible existante est un répertoire. Si tel est le cas, cela dépend de votre implémentation actuelle de la commande ln. Il pourrait avoir l'argument « -n » disponible, ce qui provoque des répertoires du lien symbolique être manipulés correctement, au lieu de les dupliquer comme vous le dites.
Référence: /unix/207294/create-symlink-overwrite-if-one-exists
la source