Я пытаюсь записать в файл date > file
, но Linux говорит
«невозможно перезаписать существующий файл».
Я попробовал chmod 755
, но все равно не могу записать в файл. Что мне делать?
решение1
Если вы используете bash, эта noclobber
опция установлена. Используйте >|
, если хотите временно переопределить ее.
решение2
Отключить noclobber в текущем сеансе оболочки:
set +o noclobber
Включите noclobber в текущем сеансе shelll:
set -o noclobber
Просмотреть все настройки bash:
set -o
Использованная литература:
https://www.victordodon.com/to-clobber-or-to-noclobber/
https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html
решение3
Возможно, файл был установлен как неизменяемый с помощью chattr
. Это редко используется, но это реальная возможность. В этом случае:
chattr -i [filename]
... должна быть возможность удалить этот атрибут.
решение4
- Перейдите в домашнюю папку.
- Нажмите Ctrl+, Hчтобы показать скрытые файлы
- Проверьте, не заблокированы ли какие-либо папки.
- Щелкните правой кнопкой мыши по папке, затем щелкните «Свойства». В нем щелкните «Разрешения».
- В разделе «Владелец» измените права доступа к папке на «создание и удаление файлов».
- Нажмите «Применить разрешения к вложенным файлам».
Если вы не видите ни одной заблокированной папки, выберите все папки и выполните указанные выше действия.