Quiero actualizar el servidor Tomcat de 7.0.19 a 7.0.20.
Ya lo he hecho ln -s apache-tomcat-7.0.19 tomcat7
antes, así que ahora necesito vincularme tomcat7
a un nuevo objetivo usando el siguiente comando ln -s --force apache-tomcat-7.0.21 tomcat7
, pero no funcionó como esperaba: creó un enlace simbólico en tomcat7/apache-tomcat-7.0.21
lugar de reemplazar tomcat7
el enlace simbólico existente con un nuevo objetivo.
Ejemplo
# 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
Revisé el manual deln
, creo que ln -s --force apache-tomcat-7.0.21 tomcat7
uso el 3er formulario en lugar del 1er formulario para explicar los parámetros. Eso es tan ambiguo entre la primera y la tercera forma. Entonces, ¿cómo reemplazar el enlace simbólico en este caso?
Al reemplazar los enlaces simbólicos a los directorios, debemos usar la
-n
opción.Ejemplo:
ln -sfn /path/to/directory /target/directory
fuente
-
espacio separado antes de cada bandera como ellos tienen.¿Por qué no solo
?
Esto no tocará el directorio anterior apache-tomcat-7.0.19 sino que simplemente eliminará el enlace anterior. Entonces puedo crear el nuevo.
fuente
cp -f
/mv -f
que usa un solo comando para hacer una operación de sobrescritura, por lo que estoy buscando la solución de un solo comando .