Нет, но
sudo rm somefile; sudo touch somefile
безопасен в большинстве ситуаций.
Большинство процессов открывают файлы и затем используют полученный дескриптор файла для доступа к содержимому файла.
Если процесс открывает какой-то файл, в sh:
exec 3>somefile
Тогда другой процесс может свободно отсоединить (= удалить) somefile, и файловый дескриптор, для которого somefile был открыт первым процессом (в данном случае 3), продолжит ссылаться на исходное содержимое somefile, который теперь является файлом в подвешенном состоянии.
sudo touch somefile
создаст новый, несвязанный файл somefile, и все процессы, у которых был открыт старый файл somefile и который теперь использует только файловый дескриптор для ссылки на него, не будут затронуты, поскольку они ссылаются на другой файл - тот, который сейчас находится в подвешенном состоянии.
Если процесс без полномочий root обращается к некоторому файлу по имени, он получит ошибку EPERM, потому что новый файл принадлежит пользователю root.
Если вы хотите предотвратить повреждение файла несколькими процессами под одним и тем же пользователем (например, root), linux имеет обязательную и рекомендательную блокировку файлов. Вы можете использовать flockкоманду в сценариях оболочки для консультативной блокировки файлов (см. Man-страницу для получения дополнительной информации).