如果我这样做:touch file; mv file /dev/null作为根,/dev/null消失。 ls -lad /dev/null导致没有这样的文件或目录。这样会破坏/dev/null像SSH 这样依赖的应用程序,并且可以通过这样做来解决mknod /dev/null c 1 3; chmod 666 /dev/null。为什么将常规文件移动到该特殊文件会导致消失/dev/null?
澄清一下,这是出于测试目的,我了解该mv命令的工作原理。我很好奇的是为什么ls -la /dev/null在用常规文件替换之前会显示预期的输出,但是之后却显示/dev/null不存在,即使据称是通过原始mv命令创建的,并且file命令显示了ASCII文本。我认为这必须是ls命令行为与devfs非特殊文件替换字符/特殊文件时的组合。这是在Mac OS X上,其行为可能在其他OS上有所不同。
rm命令。
devfs对普通文件很有趣。奇怪的是,您没有收到错误消息mv。怎么样这样:touch testfile; mv testfile /dev?
mv只能在同一文件系统上是原子的。
/dev/null。