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?
permissions
sudo
io-redirection
output
Xianlin
źródło
źródło
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)?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 wsudoers.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.Odpowiedzi:
Sudo za fajką nie działa. Nie wiem, dlaczego nie możesz pisać do domu - może plik należy do katalogu głównego?
Może potrzebujesz innej osoby stojącej za rurą. Na pewno nie potrzebujesz istniejącego pliku.
źródło
Kiedy piszesz
sudo somecommand > ~/errors.txt
, powłoka, która dzwonisudo
(i działa jak ty), wykonuje przekierowanie i otwieranie~/errors.txt
. Zobacz Przekierowywanie standardowego pliku do pliku, na którym nie masz uprawnień do zapisu . Zwykle problemem w tym przypadku jest to, że chcesz, aby root zapisał do pliku; zobacz powiązane pytanie, aby dowiedzieć się, jak to zrobić.Dziwne jest to, że nie można zapisać do pliku w katalogu domowym. Możliwe, że wcześniej zapisałeś jakieś dane wyjściowe jako root
/home/user/errors.txt
, a ten plik już istnieje i należy do roota. Usuń plik (możesz to zrobić, dopóki masz uprawnienia do zapisu/home/user
, a następnie będziesz mógł go utworzyć jako użytkownik.Jeśli plik naprawdę nie istnieje, to nie masz uprawnień do zapisu w swoim katalogu domowym. Chociaż jest to technicznie możliwe i czasami przydatne dla niektórych ograniczonych użytkowników, jest to bardzo niezwykłe.
źródło