Quero atualizar o servidor tomcat de 7.0.19 para 7.0.20.
Já fiz ln -s apache-tomcat-7.0.19 tomcat7
isso antes, agora preciso vincular tomcat7
ao novo destino usando o comando a seguir ln -s --force apache-tomcat-7.0.21 tomcat7
, mas ele não funcionou como o esperado: ele criou um link simbólico em tomcat7/apache-tomcat-7.0.21
vez de substituir tomcat7
o link simbólico existente pelo novo destino.
Exemplo
# 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
Eu verifiquei o manual deln
, acho que ln -s --force apache-tomcat-7.0.21 tomcat7
use o terceiro formulário em vez do primeiro formulário para explicar os parâmetros. Isso é tão ambíguo entre a 1ª e a 3ª forma. Então, como substituir o link simbólico neste caso?
Ao substituir links simbólicos para diretórios, devemos usar a
-n
opçãoExemplo:
ln -sfn /path/to/directory /target/directory
fonte
-
espaço separado antes de cada bandeira como elas têm.Por que não apenas
?
Isso não tocará o diretório antigo apache-tomcat-7.0.19, mas apenas excluirá o link antigo. Então, eu posso criar o novo.
fonte
cp -f
/mv -f
que usa o comando único para fazer a operação de substituição, por isso estou procurando a solução de comando único .