Ich versuche, :wq
eine Textdatei zu speichern, die ich in Vim bearbeitet habe, aber wenn ich sie eingebe :wq
, wird der Fehler angezeigt
E45: 'readonly' option is set (add ! to override)`
Als ich hinzufügen !
zu :wq
mögen :wq!
, ich diese:
"/etc/dhcp/dhcpd.conf"
"/etc/dhcp/dhcpd.conf" E212: Can't open file for writing
Die Datei, die ich bearbeiten möchte, befindet sich dhcpd
im /etc/dhcpd
Pfad.
Wie kann ich das machen?
:x
oderZZ
beenden und speichern. Es wird nur bei Änderung geschrieben.Antworten:
Sie müssen die Datei mit Superuser-Berechtigungen wie folgt öffnen:
Bearbeiten Sie die Datei durch Drücken iund dann Speichern und beenden Sie sie durch Drücken von Escund dann entweder
:wq
oder:x
oder nur:w
zum Speichern.Vielen Dank an Riking für den Vorschlag
sudoedit
: Sie könnensudoedit /path/to/file/filename
Dateien von root bearbeiten, anstatt sie zu verwendensudo <editor> /pat/to/file/filename
. Dies ist nützlich für Maschinen oder Produktionsmaschinen auf Unternehmensebene, da sich sudoedit bei anmeldet/var/log/auth.log
.Wenn Sie den Standardeditor für sudoedit ändern möchten, gehen Sie wie folgt vor:
Drücken Sie dann Returnund wählen Sie den Editor Ihrer Wahl und drücken Sie erneut Return.
Siehe auch: Eine Diskussion über Redit darüber, warum Sudoedit vorteilhaft sein kann
quelle
sudoedit
diese Situationen - es erstellt eine temporäre Kopie, führt den Editor aus und kopiert das Ergebnis. Wenn Sie zuvornano
diesen Befehl ausgewählt haben, führen Sie ihn ausEDITOR=vi sudoedit /etc/file
.sudoedit
, wusste nicht einmal, dass es existiert. Allerdings kam über diese während googelnsudoedit
. Ich werde es vorschlagen, aber überlasse es dem Benutzer, wenn er es für notwendig hält.sudoedit
nimmt auch dieEDITOR
Variable auf, es ist einfacher, das einzustellen, als Alternativen zu konfigurieren/etc
besteht aus allen Konfigurationsdateien. Um die Dateien unter zu bearbeiten/etc
, benötigen Sie die Superuser-Berechtigungen, aber manchmal vergessen wir, sie zu verwendensudo
. aber zu diesem Zeitpunkt können wir auch verwendenGeben Sie dann Ihr Administratorkennwort ein
erfolgreich beenden
quelle
cmap w!! w !sudo tee > /dev/null %
zu Ihrem hinzufügen ,.vimrc
um das Speichern über diese Methode mit zu ermöglichen:w!!
. Wenn Sie daran interessiert sind, warum diese Methode funktioniert, lesen