화면 출력을 파일로 리디렉션하기 위해 아래 형식을 사용할 수 있다는 것을 알고 있습니다.
$ your_program > /tmp/output.txt
그러나 아래 명령을 사용하면 "-bash : /home/user/errors.txt : Permission denied"라고 표시됩니다.
sudo tail /var/log/apache2/error.log > ~/errors.txt
이 출력을 만드는 방법을 알 수 있습니까? ~ / errors.txt가 존재하지 않습니다. redirect 명령을 사용하기 전에이 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가 어떻게 홈 디렉토리의 위치에 혼란 스럽습니까?)