Tomcat 서버를 7.0.19에서 7.0.20으로 업그레이드하고 싶습니다.
이전에 이 작업을 수행했으므로 ln -s apache-tomcat-7.0.19 tomcat7
이제 필요합니다.협회 tomcat7
새 대상에 다음 명령을 사용했지만 ln -s --force apache-tomcat-7.0.21 tomcat7
예상대로 작동하지 않았습니다. 기존 심볼릭 링크를 새 대상으로 바꾸는 tomcat7/apache-tomcat-7.0.21
대신 심볼릭 링크를 생성했습니다.tomcat7
예
# 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
나는 확인했다수동ln
, 제 생각에는 ln -s --force apache-tomcat-7.0.21 tomcat7
매개변수를 해석하기 위해 첫 번째 형식 대신 세 번째 형식을 사용하는 것 같습니다. 첫 번째 형태와 세 번째 형태 사이의 경계는 매우 모호합니다. 그렇다면 이 경우 심볼릭 링크를 어떻게 교체합니까?
답변1
디렉토리에 대한 심볼릭 링크를 교체할 때 이 옵션을 사용해야 합니다 -n
.
예:ln -sfn /path/to/directory /target/directory
답변2
원하는 옵션은 -T
다음과 같습니다.
$ mkdir v1
$ ln -s v1 foo
$ ls -FlA | grep foo
lrwxrwxrwx 1 phil phil 2 2011-09-05 01:58 foo -> v1/
$ mkdir v2
$ ln -s -T -f v2 foo
$ ls -FlA | grep foo
lrwxrwxrwx 1 phil phil 2 2011-09-05 01:59 foo -> v2/
답변3
왜 안되지?
rm tomcat7
ln -s apache-tomcat-7.0.21 tomcat7
?
이는 이전 디렉토리 apache-tomcat-7.0.19를 건드리지 않고 이전 링크만 제거합니다. 그런 다음 ln은 새로운 것을 만들 수 있습니다.