mv файл без нарушения символической ссылки на этот файл

Возможно ли, чтобы файл m / w нарушил символическую ссылку на этот файл? Мой первоначальный ответ на это – нет, и я разрабатываю решение на основе скриптов для изменения ссылок сразу после перехода, но мне было интересно, как другие подошли к этой проблеме. Пути и имена символических ссылок известны заранее, поэтому в теории все, что мне нужно сделать, это:

  1. получить цель ссылки
  2. mv целевой
  3. воссоздать ссылку на новую цель
  4. создайте новую ссылку на новую цель (отличную от исходной ссылки, которую я все еще хочу сохранить)

Впоследствии:

  1. удалить старую ссылку

1-4 будет инкапсулирован в сценарий bash, но мне интересно, имеет ли кто-нибудь более элегантный подход или знает встроенную или команду, о которой я не знаю.

2 Solutions collect form web for “mv файл без нарушения символической ссылки на этот файл”

Вы на правильном пути, я не думаю, что есть более простой способ, чем описанная вами последовательность.

Шаги 3 и 4 немного запутывают. Если вы хотите перенацеливать существующие ссылки, вы сохраняете одно и то же имя, вы можете использовать ln -f для перезаписывания существующих файлов. Если вы хотите, чтобы имя ваших ссылок также изменилось, чтобы отразить новое имя цели, ваша последовательность верна.

Для вашей ситуации:

 # change target of a symbolic link # ------------- # ln -s, --symbolic make symbolic links instead of hard links # ln -f, --force remove existing destination files # # Setup: make junk.link to file junk echo hello > ~/junk ln -s ~/junk ~/junk.link; cat ~/junk.link # # move file and point the link to it. org="$(readlink ~/junk.link)" new="$org".moved mv "$org" "$new" ln -s -f "$new" "$new".link # '-s' for a soft link 
  • Использование find для поиска символических ссылок, указывающих на определенный шаблон файлов
  • Как удалить сломанные символические ссылки за один раз?
  • Найти все символические ссылки в каталоге и изменить цель на другой каталог
  • Создание дерева символических ссылок в существующих каталогах
  • Создание нескольких символических ссылок при сохранении структуры каталогов
  • перечислить все символические ссылки на действительные каталоги только с помощью find
  • список файлов с помощью символической ссылки
  • Symlink все подкаталоги в каталоге в другой каталог
  • Linux и Unix - лучшая ОС в мире.