Je veux mettre à niveau le serveur tomcat de 7.0.19 à 7.0.20.
Je l'ai déjà fait ln -s apache-tomcat-7.0.19 tomcat7
auparavant, alors maintenant je dois créer un lien tomcat7
vers une nouvelle cible à l'aide de la commande suivante ln -s --force apache-tomcat-7.0.21 tomcat7
, mais cela ne fonctionne pas comme prévu: il a créé un lien symbolique tomcat7/apache-tomcat-7.0.21
au lieu de remplacer tomcat7
le lien symbolique existant par une nouvelle cible.
Exemple
# mkdir v1 v2
# ln -s v1 v
# ln -s v2 v
# ll v*
lrwxrwxrwx. 1 root root 2 Sep 5 16:02 v -> v1
v1:
total 0
lrwxrwxrwx. 1 root root 2 Sep 5 16:02 v2 -> v2
v2:
total 0
J'ai vérifié le manuel deln
, je pense ln -s --force apache-tomcat-7.0.21 tomcat7
utiliser le 3ème formulaire au lieu du 1er formulaire pour expliquer les paramètres. C'est tellement ambigu entre la 1ère et la 3ème forme. Alors, comment remplacer le lien symbolique dans ce cas?
En remplaçant les liens symboliques vers les répertoires, nous devons utiliser l'
-n
option.Exemple:
ln -sfn /path/to/directory /target/directory
la source
-
espace séparé avant chaque drapeau comme ils l'ont fait.Pourquoi pas juste
?
Cela ne touchera pas l'ancien répertoire apache-tomcat-7.0.19 mais supprimera simplement l'ancien lien. Ensuite, ln peut créer le nouveau.
la source
cp -f
/mv -f
qui utilise une seule commande pour effectuer une opération de remplacement, donc je cherche la solution à commande unique .