Ich versuche, in eine Datei zu schreiben date > file
, aber Linux sagt
„Vorhandene Datei kann nicht überschrieben werden.“
Ich habe es versucht chmod 755
, kann aber immer noch nicht in die Datei schreiben. Was soll ich tun?
Antwort1
Wenn Sie Bash ausführen, noclobber
wurde die Option festgelegt. Verwenden Sie diese Option, >|
wenn Sie dies vorübergehend außer Kraft setzen möchten.
Antwort2
Schalten Sie Noclobber in der aktuellen Shell-Sitzung aus:
set +o noclobber
Noclobber in der aktuellen Shell-Sitzung aktivieren:
set -o noclobber
Alle Bash-Einstellungen anzeigen:
set -o
Verweise:
https://www.victordodon.com/to-clobber-or-to-noclobber/
https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html
Antwort3
Es ist möglich, dass die Datei mit als unveränderlich festgelegt wurde chattr
. Dies wird selten verwendet, ist aber eine realistische Möglichkeit. In diesem Fall:
chattr -i [filename]
... sollte in der Lage sein, dieses Attribut zu entfernen.
Antwort4
- Gehen Sie zu Ihrem Home-Ordner
- Drücken Sie Ctrl+ H, um versteckte Dateien anzuzeigen
- Überprüfen Sie, ob einer der Ordner gesperrt ist
- Klicken Sie mit der rechten Maustaste auf den Ordner und dann auf „Eigenschaften“. Klicken Sie dort auf „Berechtigungen“.
- Ändern Sie unter „Eigentümer“ den Ordnerzugriff auf „Dateien erstellen und löschen“.
- Klicken Sie auf „Berechtigungen auf beigefügte Dateien anwenden“
Wenn Sie keine gesperrten Ordner sehen können, wählen Sie alle Ordner aus und führen Sie die obigen Schritte aus