Dizin hedefine bağlanan sembolik bağlantıyı değiştir


17

Tomcat sunucusunu 7.0.19'dan 7.0.20'ye yükseltmek istiyorum.

Ben daha ln -s apache-tomcat-7.0.19 tomcat7önce de oldum , bu yüzden şimdi aşağıdaki komutu kullanarak yeni hedefe bağlantı gerekir , ancak beklediğim gibi çalışmadı: varolan sembolik bağlantı yerine yeni hedef yerine sembolik bir bağlantı oluşturdu .tomcat7ln -s --force apache-tomcat-7.0.21 tomcat7tomcat7/apache-tomcat-7.0.21tomcat7

Misal

# 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

Kılavuzunuln kontrol ettim, sanırım ln -s --force apache-tomcat-7.0.21 tomcat7parametreleri açıklamak için 1. form yerine 3. formu kullan. Bu, 1. ve 3. form arasında çok belirsiz. Peki bu durumda sembolik bağlantı nasıl değiştirilir?

Yanıtlar:


16

-TSeçeneği istiyorsunuz :

$ 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/

Teşekkürler, tam da ihtiyacım olan şey bu. Ne yazık ki, bu isteğe bağlı seçeneği yardımda görüyorum , ama tam olarak ne yaptığını bilmiyorum.
LiuYan 刘 研

16

Dizinlere sembolik bağlantıları değiştirirken -nseçeneği kullanmalıyız .

Misal: ln -sfn /path/to/directory /target/directory


1
Bu kabul edilen cevap olmalı. Soruyu çözer ve tek astarlı / kompakt.
e kadar

1
Kabul edilen cevap da soruyu çözer ve bir astardır ... yanılmıyorsam, aynı derecede kompakt olabilir. Sanki -her bayrağın önünde ayrı ve boşluk olması gerektiğini düşünmüyorum .
ArtOfWarfare

3

Neden sadece

rm tomcat7
ln -s apache-tomcat-7.0.21 tomcat7

?

Bu eski dizin apache-tomcat-7.0.19'a dokunmaz, sadece eski bağlantıyı siler. Sonra yenisini oluşturabilirim.


Teşekkürler! Ben şu anda benim komut dosyasında yaptım, ama bence bu cp -f/ mv -füzerine yazma işlemi yapmak için tek komut kullanan, bu yüzden tek komut çözümü arıyorum .
LiuYan 刘 研
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.