Как опустеть (“усекают”) файл на Linux, который уже существует и защищен в некоторым образом?

У меня есть файл под названием error.log на моем сервере, который я должен часто усекать. У меня есть rw полномочия для файла. Открытие файла в vi> удаляющий все содержание> сохраняющие работы (очевидно). Но когда я пробую ниже

cat /dev/null > error.log

Я получаю сообщение

File already exists.

Очевидно, существует некоторая конфигурация, реализованная на сервере для предотвращения случайного переопределения файлов. Кто-либо может сказать, как я "усекаю" файл в единственной команде?

111
задан Sumeet Pareek 11 March 2010 в 07:35
поделиться

1 ответ

У вас установлена ​​опция noclobber . Ошибка выглядит так, как будто она из csh, поэтому вы должны сделать:

cat /dev/null >! file

Если я ошибаюсь и вы используете bash, вам следует сделать:

cat /dev/null >| file

в bash, вы также можете сократить это до:

>| file
157
ответ дан 24 November 2019 в 02:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: