Không nhưng
sudo rm somefile; sudo touch somefile
là an toàn trong hầu hết các tình huống.
Hầu hết các quy trình mở tệp và sau đó sử dụng bộ mô tả tệp thu được để truy cập nội dung tệp.
Nếu một quá trình mở một số tệp, trong sh:
exec 3>somefile
Sau đó, một quy trình khác được tự do hủy liên kết (= remove) somefile và filedescriptor mà trên đó somefile được mở bởi quy trình đầu tiên (3 trong trường hợp này) sẽ tiếp tục đề cập đến nội dung ban đầu của somefile, hiện là một tệp trong limbo.
sudo touch somefile
sẽ tạo ra một số tệp mới, không liên quan và tất cả các quy trình đã mở một số tệp cũ và hiện chỉ sử dụng một bộ lọc dữ liệu để tham chiếu đến nó sẽ không bị ảnh hưởng bởi vì chúng đang tham chiếu đến một tệp khác - hiện đang ở trạng thái limbo.
Nếu một quy trình không phải là root tham chiếu đến một số tệp theo tên, họ sẽ gặp lỗi EPERM, vì một số tệp mới là thuộc sở hữu gốc.
Nếu bạn muốn ngăn nhiều quá trình trong cùng một người dùng (ví dụ: root) làm hỏng một tệp, linux có khóa tệp bắt buộc và tư vấn. Bạn có thể sử dụng flock
lệnh trong shell script để khóa tập tin tư vấn (xem trang hướng dẫn để biết thêm thông tin).