No pero
sudo rm somefile; sudo touch somefile
Es seguro en la mayoría de las situaciones.
La mayoría de los procesos abren archivos y luego usan el descriptor de archivo adquirido para acceder al contenido del archivo.
Si un proceso abre algún archivo, en sh:
exec 3>somefile
Luego, otro proceso es libre de desvincular (= eliminar) algún archivo y el descriptor de archivo en el que se abrió algún archivo mediante el primer proceso (3 en este caso) continuará haciendo referencia al contenido original de algún archivo, que ahora es un archivo en el limbo.
sudo touch somefile
creará un archivo nuevo y no relacionado y todos los procesos que tenían abierto el archivo anterior y ahora solo están usando un descriptor de archivo para referirse a él no se verán afectados porque se refieren a un archivo diferente, uno que ahora está en el limbo.
Si un proceso no root intenta hacer referencia a algún archivo por su nombre, obtendrán un error EPERM, porque el nuevo archivo es propiedad de root.
Si desea evitar que múltiples procesos bajo el mismo usuario (por ejemplo, root) dañen un archivo, Linux tiene un bloqueo de archivos obligatorio y de aviso. Puede usar el flockcomando en los scripts de shell para bloquear el archivo de aviso (consulte la página de manual para obtener más información).