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