Linux - jakiś sposób na utrzymanie otwartego pliku dziennika aktualizacji na żywo w terminalu?

47

To musiało być zrobione wcześniej: chcę, aby plik dziennika był otwarty w terminalu, aby móc monitorować aktualizacje w miarę ich pojawiania się. Moje poszukiwania wymyślają wszystko oprócz tej sytuacji ... Muszę brakować jakiejś terminologii lub czegoś kluczowego, ponieważ ludzie robią to cały czas w innych programach (na przykład NetBeans lub serwer Railsowy).

wulftone
źródło
4
Ach, znalazłem to. tail -f myfile.log. To ładnie. Kocham Linux.
wulftone

Odpowiedzi:

10

Inny sposób:

oglądaj tail -n20 twój.log

OK, rodzaj głupiego użycia watch- ale może się okazać, że watchpolecenie jest przydatne do innych celów.

Robin Green
źródło
5
Ta watchopcja jest lepsza w przypadku plików, których nazwy zostaną zmienione / usunięte i ponownie utworzone (podczas normalnej pracy lub przez coś takiego jak logrotate) podczas oglądania, w przeciwnym razie tail -fjest bardziej wydajne.
David Spillett,
6
@David: tail -Fradzi sobie z tym.
grawitacja
@grawity: Dzięki, codziennie uczysz się czegoś nowego!
David Spillett
3

Alternatywą dla odpowiedzi @ cYrus jest:

less +F file.log

Zaletą jest to, że lessmożna również przyciąć długie linie za pomocą -Sflagi, zapobiegając owijaniu się wokół ekranu terminala, jednocześnie umożliwiając przewijanie w lewo / w prawo. Zamiast rurociągów tail -f file.logprzez cutlub coś podobnego, można po prostu:

less -S +F file.log
Severyn Kozak
źródło