Nein, aber
sudo rm somefile; sudo touch somefile
ist in den meisten Situationen sicher.
Die meisten Prozesse öffnen Dateien und verwenden dann den erfassten Dateideskriptor, um auf den Dateiinhalt zuzugreifen.
Wenn ein Prozess eine Datei öffnet, in sh:
exec 3>somefile
Dann kann ein anderer Prozess die Verknüpfung einer Datei aufheben (= entfernen), und der Dateiskriptor, auf dem eine Datei beim ersten Prozess geöffnet war (in diesem Fall 3), verweist weiterhin auf den ursprünglichen Inhalt einer Datei, die jetzt eine Datei in der Schwebe ist.
sudo touch somefile
erstellt eine neue, nicht verwandte Somefile, und alle Prozesse, bei denen die alte Somefile geöffnet war und die jetzt nur einen Dateideskriptor verwenden, um darauf zu verweisen, sind nicht betroffen, da sie auf eine andere Datei verweisen - eine, die sich jetzt in der Schwebe befindet.
Wenn ein Nicht-Root-Prozess versucht, auf eine Datei mit Namen zu verweisen, wird ein EPERM-Fehler angezeigt, da sich die neue Somefile im Root-Besitz befindet.
Wenn Sie verhindern möchten, dass mehrere Prozesse unter demselben Benutzer (z. B. root) eine Datei beschädigen, verfügt Linux über eine obligatorische und empfohlene Dateisperrung. Sie können den flock
Befehl in Shell-Skripten zum Sperren von Hinweisdateien verwenden (weitere Informationen finden Sie in der Manpage).