Je suis maintenant sous un répertoire avec un chemin très long. Pour la visite future plus rapide, je voudrais créer un lien avec cela.
J'ai essayé
ln -s . ~/mylink
~/mylink
réellement liens vers ~
. Alors puis-je développer ~
dans le nom de chemin obsolue, puis donnez-le à ln
?
Un symbolique stocke réellement le chemin que vous donnez littéralement, comme une chaîne¹. Cela signifie votre lien ~/mylink
contient ".
"(un caractère). Lorsque vous accédez au lien, ce chemin est interprété par rapport à l'endroit où le lien est plutôt que lorsque vous avez réalisé le lien.
Au lieu de cela, vous pouvez stocker le chemin actuel que vous souhaitez dans le lien:
ln -s "$(pwd)" ~/mylink
utilisation Substitution de commande pour mettre la sortie de pwd
(nom du répertoire de travail) dans votre ligne de commande. ln
voit le chemin complet et le stocke dans votre symbole symbolique, qui pointera ensuite vers le bon endroit.
¹ Plus ou moins.
Tu devrais utiliser:
ln -s "$(cd . && pwd)" ~/mylink
ou:
ln -s "$(pwd -P)" ~/mylink
obtenir le bon résultat pour le répertoire de travail actuel. Cela peut être changé pendant que vous y travailliez comme dans la présente question .