阻止该问题的机制是什么rm /dev/null
?具体来说,是在 FreeBSD 上,但我对所有其他基于 Unix 的系统也同样感兴趣。
答案1
实际上,您可以/dev/null
在 Linux 和 BSD 系统上以 root 用户身份删除。当然,一旦系统重新启动,/dev/null
就会恢复。无需重新启动,也可以/dev/null
使用mknod
命令进行恢复。
答案2
root
权限 - 除非您以超级用户身份或少数其他用户或组(bin
或)之一的身份运行sys
,否则您在目录中没有写权限/dev/
,因此无法从目录中删除任何内容。
如果您是root
,那么您可以删除它 - 但您的系统会非常不高兴。您可以使用命令mknod
(或mknod()
系统调用)重新创建它。或者您可以创建一个普通文件,但它不会具有与“真实”相同的特殊属性/dev/null
,并且会使您的系统严重受损。
这不是一个适合进行实验的地方!(并且,如果你必须进行实验,我建议使用虚拟机而不是主机。)