以下の形式を使用して、画面出力をファイルにリダイレクトできることを知っています。
$ your_program > /tmp/output.txt
しかし、以下のコマンドを使用すると、「-bash:/home/user/errors.txt:権限が拒否されました」と表示されます
sudo tail /var/log/apache2/error.log > ~/errors.txt
この出力を機能させる方法を教えてください。〜/ errors.txtは存在しません。リダイレクトコマンドを使用する前に、まずこのtxtファイルを作成する必要がありますか?
userコマンドを実行するユーザーには?
sudo。 sudoリダイレクトを許可しません。sudoers.confファイルに含まれていないいたずらなことをするために人々がそれを使うことができるにはあまりにも多くの方法。別の方法として、sudo bash -c "tail /var/log/apache2/error.log > ~/errors.txt"errors.logの終わりをホームディレクトリのファイルにスクレイピングすることもできます。
echo hi > ~/errors.txtか?/home/userあなたの正しいホームディレクトリはありますか(またはbashはどういうわけかあなたのホームディレクトリがどこにあるかについて混乱しましたか?)