Ubuntu – Cannot echo “hello” > x.txt even with sudo?

bashcommand linepermissionssudo

Possible Duplicate:
sudo & redirect output

I'm trying to create a file in /var/www, but even with sudo this fails:

user@debVirtual:/var/www$ sudo echo "hello" > f.txt
-bash: f.txt: Permission denied

When I use sudo nano, I can save something to this file.

Why can't I use sudo echo?

Best Answer

The redirection is done by the shell before sudo is even started. So either make sure the redirection happens in a shell with the right permissions

sudo bash -c 'echo "hello" > f.txt'

or use tee

echo "hello" | sudo tee f.txt  # add -a for append (>>)
Related Question