基本上我将以下内容作为测试:
$ gcc -c -xc - -o /dev/stdout <<<'int main(){return 0;}'
我收到了错误(Fatal error: can't write /dev/stdout: Illegal seek
),然后我发现(可能是清理步骤)gcc
已删除/dev/stdout
。现在,当我运行示例echo foo > /dev/stdout
时,它只是在该位置创建一个普通的文本文件。
我可以再次创建符号链接吗?:
$ ln -s /proc/self/fd/1 /dev/stdout
或者还有更多的东西吗?
如何防止再次发生这种情况?我意识到/dev/stdout
需要拥有每个人的写权限才能使其正常工作。