Przeglądarka dziennika linii poleceń Linux, która pozwala na automatyczne ogonowanie ORAZ wyszukiwanie?

18

Używam tail -fw mojej powłoce Linux, aby przeglądać pliki dziennika, ponieważ podoba mi się to, jak automatycznie aktualizuje się z przychodzącym tekstem: Lubię widzieć, jak nowe rzeczy się przewijają.

Jednak podoba mi się również funkcja wyszukiwania less, która nie jest dostępna w tail(czy to jest?). Czy istnieje rozwiązanie „najlepsze z obu światów”?

Gdyby istniał tryb, w lessktórym mógłbym włączyć automatyczne aktualizowanie przychodzącego tekstu, byłoby to idealne rozwiązanie.

Max Williams
źródło
Czy musi to być proste polecenie, czy zaakceptowałbyś użycie aplikacji wiersza poleceń Node.JS?
Julian Knight

Odpowiedzi:

23

Możesz uruchomić less +F filename, aby wyświetlić plik w tail -fmodzie.

Możesz nacisnąć Shift + F podczas przeglądania pliku w mniej, aby przejść do trybu przekazywania, a Ctrl + C, aby wyjść z tego trybu.

Mikołaj
źródło
Lub Shift-End do ciągłej aktualizacji.
auxsvr 16.04.15
5

Od less -help:

F Naprzód na zawsze; jak „tail -f”.

tak przypuszczalnie less +F /var/log/messages

linuxdev2013
źródło
Możesz także nacisnąć Shift + F podczas przeglądania pliku w mniej, aby przejść do trybu przekazywania, oraz Ctrl + C, aby wyjść z tego trybu.
Nikolai
@ linuxdev2013 - rozpoczęcie od „mniej -F <plik>” nie działa dla mnie. @Nikolai - shift&fjest idealny, dzięki! Jeśli chcesz udzielić odpowiedzi, oznaczę ją jako poprawną. (przy okazji, jeśli ktoś czyta, aby wyjść z trybu przekazywania, jest to ctrl&c, czy jakikolwiek inny zwykły kod anulowania / przerwania.
Max Williams
3

Odpowiedź Nicolai jest prawdopodobnie najbliższa temu, o co prosiłeś, ale czy myślałeś o użyciu tmux?

W moich sesjach tmux lubię logować tail -f, a następnie po prostu wejść w tryb kopiowania tmux, aby wyszukiwać w górę i w dół dokładnie tak, jak wyszukiwanie w mniej, a następnie wyjść z trybu kopiowania, aby znaleźć mój ciąg dalszy tail -f.

Utwórz sesję tmux:

tmux

Ogonuj plik dziennika i ostatnie 1000 wierszy, aby rozpocząć:

tail -f -n1000 /var/log/syslog

Wejdź do trybu kopiowania za pomocą klawisza wiodącego i lewego nawiasu:

[ctrl+leader] + [

domyślnym kluczem lidera tmux jest litera b, więc na przykład:

[ctrl+b] [

Teraz możesz przewijać i wyszukiwać w górę iw dół, tak jak w mniejszym.

Wyjdź z trybu kopiowania, aby wrócić do tail -f:

[crtl+c]

Materiał bonusowy: Otwórz drugi monit terminala:

[ctrl+leader] + c

Przełączaj się między dwoma monitami terminala:

[ctrl+leader] + l
powtórnie ewakuować
źródło
0

Możesz po prostu zrobić

tailf logname.log | grep "query-here"
blakepeterman
źródło