問題
リダイレクトすると「許可がありません/Permission denied」と表示されます。これはlsのみがsudoされて、リダイレクトはログインユーザーで実行されたためです。
$ sudo ls > /etc/foo
-bash: /etc/foo: 許可がありません
解決方法
リダイレクトをteeに置き換えます。teeは標準入力から読んだ内容を標準出力とファイルに書き出すコマンドです。
$ ls | sudo tee /etc/foo
bin
元のリダイレクトと同じようにファイルにだけ書き出したいときは、標準出力を/dev/nullにリダイレクトします。
$ ls | sudo tee /etc/foo > /dev/null
>>のように追記したいときは、-aオプションを使います。
$ ls | sudo tee -a /etc/foo