Warum kann die vorhandene Datei nicht überschrieben werden?

Warum kann die vorhandene Datei nicht überschrieben werden?

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, noclobberwurde 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

  1. Gehen Sie zu Ihrem Home-Ordner
  2. Drücken Sie Ctrl+ H, um versteckte Dateien anzuzeigen
  3. Überprüfen Sie, ob einer der Ordner gesperrt ist
  4. Klicken Sie mit der rechten Maustaste auf den Ordner und dann auf „Eigenschaften“. Klicken Sie dort auf „Berechtigungen“.
  5. Ändern Sie unter „Eigentümer“ den Ordnerzugriff auf „Dateien erstellen und löschen“.
  6. 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

verwandte Informationen