Wiem, że możemy użyć poniższego formatu do przekierowania wyjścia ekranu do pliku:
$ your_program > /tmp/output.txt
Jednak gdy użyłem poniższego polecenia, napisano „-bash: /home/user/errors.txt: Odmowa uprawnień”
sudo tail /var/log/apache2/error.log > ~/errors.txt
Czy mogę wiedzieć, jak to zrobić? ~ / Error.txt nie istnieje. Czy muszę najpierw utworzyć ten plik txt, zanim użyję polecenia przekierowania?
user
użytkownik, który uruchamia polecenie?
sudo
. sudo
nie zezwala na przekierowanie. zbyt wiele sposobów, aby ludzie mogli używać tego do robienia niegrzecznych rzeczy, których nie ma w sudoers.conf
pliku. Alternatywnie możesz uruchomić, sudo bash -c "tail /var/log/apache2/error.log > ~/errors.txt"
aby zeskrobać koniec error.log do pliku w swoim katalogu domowym.
echo hi > ~/errors.txt
? Czy/home/user
twój poprawny katalog domowy (lub bash w jakiś sposób pomylił się co do tego, gdzie znajduje się twój katalog domowy)?