Wie bearbeite ich eine Datei in /proc, die mit cat angezeigt, aber nicht mit Mousepad und Abiword bearbeitet werden kann?

Wie bearbeite ich eine Datei in /proc, die mit cat angezeigt, aber nicht mit Mousepad und Abiword bearbeitet werden kann?

Wie in der Frage angegeben, muss ich meine /proc/acpi/wakeupDatei bearbeiten, aber wenn ich sie mit einem beliebigen Texteditor öffne, wird eine leere Datei angezeigt. catDer Befehl hingegen zeigt im Terminal den korrekten Dateiinhalt an. Wenn ich im Dateimanager zu dieser Datei navigiere, wird angezeigt, dass ihre Größe 0 Byte beträgt. Ich verwende Xubuntu 15.04. Ich bin völlig verwirrt.

Antwort1

/proc(manpage,Kernel-Dokumente) ist ein virtuelles Dateisystem (wie es ist /sys-Kernel-Dokumente). Dateien in /procsind nichtrealDateien, sondern Möglichkeiten, auf Informationen und Einstellungen vom Kernel zuzugreifen. Sie sollten keinen Editor verwenden, um Dateien in zu bearbeiten /proc, sondern direkt in diese Dateien schreiben:

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

Wenn Sie versuchen, daraus zu lesen oder zu schreiben, konvertiert der Kernel die Aktionen intern in Systemaufrufe und führt das Richtige aus. Einige Editoren können den Inhalt immer noch anzeigen (versuchen Sie es beispielsweise mit Vim), aber das Schreiben in den Inhalt ist eine andere Geschichte.


Für eine spezielle Klasse von Dateien, nämlich die in /proc/sys(Kernel-Dokumente,Arch Wiki), gibt es noch eine andere Alternative. Sie können die Konfigurationsdateien in/etc/sysctl.confund /etc/sysctl.d/*.confihre Werte dauerhaft zu ändern. Eine Datei /proc/sys/foo/barkann über einen Schlüssel foo.barin einer dieser Dateien festgelegt werden.

Dies kann zum Beispiel /proc/sys/vm/swappinessdurch Hinzufügen eines Inhalts festgelegt werden /etc/sysctl.d/90-swappiness.conf:

vm.swappiness = 10

Und läuft:

service procps start

Sie können auch einmalige Änderungen vornehmen (die den nächsten Neustart nicht überstehen), indem Sie densysctlBefehl direkt:

sudo sysctl -w vm.swappiness=10

verwandte Informationen