У меня есть два каталога в одной родительской директории. Вызовите родительский каталог base и каталоги для детей alpha и bravo. Я хочу заменить альфа на bravo. Самый простой способ:
rm -rf alpha
mv bravo alpha
Команда mv является атомарной, но rm -rf не является. Есть ли простой способ в bash для атомной замены alpha с помощью bravo? Если нет, существует ли сложный путь?
ДОПОЛНЕНИЕ:
Постепенно это не является непреодолимой проблемой, если каталог не существует в течение короткого периода времени. Там только одно место, которое пытается получить доступ к альфе, и проверяет, существует ли альфа, прежде чем делать что-либо критическое. В противном случае появляется сообщение об ошибке. Но было бы неплохо, если бы был способ сделать это.:) Может быть, есть способ изменить inodes напрямую или что-то...