Замените символьную ссылку, которая связалась с целью каталога

использовать rsync, это использует SSH.

Использование:

rsync -aPz /source/path destination.server:remote/path

rsync переключает заботу об информации о I-узле и сжатии. -P прогресс дисплеев каждого файла.

Можно использовать scp -C, который включает сжатие, но, если возможно, использовать rsync.

17
05.09.2011, 11:41
3 ответа

Вы хотите -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/
16
27.01.2020, 19:46
  • 1
    Спасибо, это точно, в чем я нуждался. Какая жалость, я вижу эту дополнительную опцию в справке, но я не знаю то, что она точно делает. –  LiuYan 刘研 06.09.2011, 07:11

Почему не просто

rm tomcat7
ln -s apache-tomcat-7.0.21 tomcat7

?

Это не коснется старого каталога apache-tomcat-7.0.19, но просто удалит старую ссылку. Затем маршрут может создать новый.

3
27.01.2020, 19:46
  • 1
    Спасибо! я в настоящее время делал это в моем сценарии, но я думаю, что это, в отличие от этого, cp -f/mv -f которые используют единственную команду, чтобы сделать операцию перезаписи, таким образом, я ищу единственное решение для команды. –  LiuYan 刘研 06.09.2011, 07:05

При замене символических ссылок на каталоги следует использовать параметр -n .

Пример: ln -sfn / путь / к / каталогу / цели / каталогу

16
27.01.2020, 19:46

Теги

Похожие вопросы