Почему я получаю «Permission denied» при перенаправлении вывода файла sudo echo «xyz» в файл?

Почему я получаю

-bash: test: Permission denied 

когда я бегу

 sudo echo "xyz" > test 

Разрешения для каталога:

 drwxr-xr-x 3 root root 4096 2014-08-05 16:26 

У меня нет проблем с созданием файла в каталоге с помощью sudo . Но почему я не могу вникать в него?

Это происходит потому, что вы выполняете команду echo только как root. Перенаправление вывода обрабатывается вашей (не-корневой) оболочкой. Чтобы этого избежать, не используйте перенаправление оболочки и используйте фактическую команду для обработки записи: tee . То, что вы хотите сделать, можно сделать так:

echo "xyz" | sudo tee test> / dev / null

(если вы не перенаправляете вывод, tee будет выводить xyz в stdout, тоже)