Назад | Перейти на главную страницу

Очистка файла журнала, принадлежащего пользователю root

Мне нужно очистить файл журнала с помощью:

cat /dev/null > error.log 

Проблема в том, что файл принадлежит root

-rw-r--r-- 1 root root 15505 Feb  9 15:08 error.log

и это не работает

$ sudo cat /dev/null > error.log 
-bash: error.log: Permission denied

Понятия не имею, почему ... так как я могу обойти это?

Попробуй это:

$ sudo sh -c "cat /dev/null > error.log"

Проблема в том, что с помощью команды, которую вы использовали, вы действительно выполняете две команды: первая кошка запускается как root (через sudo), а все остальное запускается как ваш пользователь. Вышеупомянутый метод решает эту проблему.

это ответ на U&L содержит дополнительную информацию по этому поводу.