Я знаю, что мы можем использовать следующий формат для перенаправления вывода экрана в файл:
$ your_program > /tmp/output.txt
Однако, когда я использовал приведенную ниже команду, она говорит : «-bash: /home/user/errors.txt: В доступе отказано»
sudo tail /var/log/apache2/error.log > ~/errors.txt
Могу ли я узнать, как заставить работать этот вывод? Файл ~ / errors.txt не существует. Нужно ли создавать этот текстовый файл перед использованием команды redirect?
permissions
sudo
io-redirection
output
Xianlin
источник
источник
echo hi > ~/errors.txt
? Является ли/home/user
ваш правильный каталог дома (или же каким - то образом Баш запутаться о том, где ваш домашний каталог)?user
пользователь, запускающий команду?sudo
.sudo
не разрешает перенаправление. слишком много способов, которыми люди могли бы использовать это, чтобы делать непослушные вещи, не включенные вsudoers.conf
файл. В качестве альтернативы, вы можете запуститьsudo bash -c "tail /var/log/apache2/error.log > ~/errors.txt"
очистку конца error.log к файлу в вашей домашней директории.Ответы:
За трубой судо не работает. Я не знаю, почему вы не можете написать у себя дома - возможно, файл принадлежит root?
Может быть, вам нужен другой пользователь позади трубы. Конечно, вам не нужен существующий файл.
источник
Когда вы пишете
sudo somecommand > ~/errors.txt
, оболочка, которая вызываетsudo
(и работает как вы), выполняет перенаправление и открытие~/errors.txt
. См. Перенаправление stdout в файл, для которого у вас нет разрешения на запись . Обычно проблема в этом случае заключается в том, что вы хотите, чтобы root записывал в файл; см. связанный вопрос для способов сделать это.Здесь странно, что вы не можете записать файл в свой домашний каталог. Скорее всего, вы ранее сохранили какой-то вывод как root
/home/user/errors.txt
, и этот файл теперь существует и принадлежит root. Удалите файл (вы можете сделать это, если у вас есть разрешение на запись/home/user
, и тогда вы сможете создать его как своего пользователя.Если файл действительно не существует, то у вас нет разрешения на запись в домашний каталог. Хотя это технически возможно и иногда полезно для некоторых пользователей с ограниченными правами, это очень необычно.
источник