如何编辑 /proc 中可以用 cat 查看但不能用 mousepad 和 abiword 编辑的文件?

如何编辑 /proc 中可以用 cat 查看但不能用 mousepad 和 abiword 编辑的文件?

正如问题所述,我需要编辑我的/proc/acpi/wakeup文件,但当我使用任何文本编辑器打开它时,它都会显示空白文件。cat另一方面,命令在终端中显示正确的文件内容。当我在文件管理器中导航到该文件时,它显示其大小为 0 字节。我使用的是 Xubuntu 15.04。我彻底糊涂了。

答案1

/proc手册页内核文档)是一个虚拟文件系统(原样/sys-内核文档)。文件/proc不是真实的文件,而是访问内核信息和设置的方法。您不应该使用编辑器来编辑 中的文件/proc,而应该直接写入这些文件:

sudo sh -c 'echo foo > /proc/some/file'
echo foo | sudo tee /proc/some/file

当您尝试读取或写入时,内核会在内部将操作转换为系统调用并执行正确的操作。某些编辑器仍可查看内容(例如,尝试使用 Vim),但写入内容则另当别论。


对于特殊类型的文件,位于/proc/sys(内核文档建筑维基),还有另一种选择。您可以使用配置文件/etc/sysctl.conf/etc/sysctl.d/*.conf对其值进行永久更改。可以使用其中一个文件中的/proc/sys/foo/bar密钥来设置文件。foo.bar

例如,/proc/sys/vm/swappiness可以通过添加包含以下内容来设置/etc/sysctl.d/90-swappiness.conf

vm.swappiness = 10

并运行:

service procps start

您还可以使用以下命令进行一次性更改(下次重新启动后将不再保留):sysctl直接命令:

sudo sysctl -w vm.swappiness=10

相关内容