/proc/sys 中哪些值不能改变?
echo "Windows" > /proc/sys/kernel/ostype
bash: /proc/sys/kernel/ostype: Permission denied
为什么?
答案1
因为 ostype 没有写权限:
ls -al /proc/sys/kernel/ostype
-r--r--r-- 1 root root 0 2011-02-25 05:20 /proc/sys/kernel/ostype
如果 /proc/sys/ 中的文件具有写权限,则可以更改其中的值。
答案2
这个问题的真正答案是真正理解proc 文件系统意味着. /proc
不是真正的文件系统 - 它是系统内部的文件系统接口。当您在 /proc 中读取或写入内容时,您并不是在读取或写入磁盘 - 您是直接读取和写入内核内存或设备驱动程序中的内容。
因此,是的,对于“为什么我不能写入/proc/sys/kernel/ostype
?”的基本回答是file
不可写的。但是,更完整的答案是,这个特定的文件以只读形式呈现给您,因为更改它没有任何意义。'ostype' 是正在运行的系统的不可变属性。