Saya ingin memperbarui server kucing jantan dari 7.0.19 ke 7.0.20.
Saya sudah pernah melakukannya ln -s apache-tomcat-7.0.19 tomcat7
, jadi sekarang saya harus menautkan tomcat7
ke target baru menggunakan perintah berikut ln -s --force apache-tomcat-7.0.21 tomcat7
, tetapi tidak berfungsi seperti yang saya harapkan: itu membuat tautan simbolik tomcat7/apache-tomcat-7.0.21
alih-alih mengganti tomcat7
tautan simbolik yang ada dengan target baru.
Contoh
# 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
Saya memeriksa manualln
, saya pikir ln -s --force apache-tomcat-7.0.21 tomcat7
gunakan formulir ke-3 daripada formulir ke-1 untuk menjelaskan parameter. Itu sangat ambigu antara formulir 1 dan 3. Jadi bagaimana cara mengganti tautan simbolis dalam kasus ini?
Saat mengganti tautan simbolik ke direktori, kita harus menggunakan
-n
opsi.Contoh:
ln -sfn /path/to/directory /target/directory
sumber
-
ruang dan terpisah sebelum setiap bendera seperti yang mereka miliki.Kenapa tidak adil?
?
Ini tidak akan menyentuh direktori lama apache-tomcat-7.0.19 tetapi cukup hapus tautan yang lama. Kemudian ln dapat membuat yang baru.
sumber
cp -f
/mv -f
yang menggunakan perintah tunggal untuk melakukan operasi menimpa, jadi saya mencari solusi perintah tunggal .