Odpowiedzi:
Po uruchomieniu w ten sposób ...
top && clear
... ekran usuwa się po wyjściu z góry za pomocą q.
To działa bardziej jak less:
tput smcup ; top ; tput rmcup
( smcupprzełącza na drugi ekran, na którym topwykonywane jest polecenie, a po wyjściu top rmcupprzełącza się z powrotem na normalny ekran)
Możesz wykonać alias głównego polecenia, aby to zrobić ( Jak utworzyć trwały alias Bash? )
clearwydaje się, że kasuje także wszystkie oprócz ostatniego ekranu bufora przewijania (więc w tym przypadku pozostawiając tylko ostatni ekran górny) - przynajmniej w xfce4-terminal i QTerminal. tputOdpowiedź działa świetnie, zwłaszcza w aliasu dlatop
lessostatnie wyjście całkowicie zniknęło z bufora.
htop, oraz 2. połącz aliasy poleceń, abyś nie musiał ich ręcznie łączyć za każdym razem.
Jak na ironię 1 , to było krótko zachowanie top. W 3.3.8 topwyczyściłem ekran, ale nie w poprzednich wersjach ani później. Zobacz błąd Red Hat # 977561 :
Czyszczenie ekranu jest pośrednim wynikiem zmian w manipulacjach terminalami, które zostały wprowadzone przez Jima Warnera (autora narzędzia „górnego”) w celu powstrzymania zalania „górnego” narzędzia sygnałami SIGWINCH generowanymi przez niektóre z powszechnie używanych aplikacji terminalowych. To ja zgłosiłem problem z powodzią, a on starał się jak najlepiej, aby go rozwiązać, i wydał poprawkę dotyczącą tego problemu w postaci 8 oddzielnych zatwierdzeń. Zatwierdzenie wprowadzające czyszczenie ekranu ma następujący skrót: „dedaf6e1a81738ff08ee8e8523871e12f555ad6d”.
Z powodu zgłoszenia błędu Jim naprawił go, aby ponownie nie usuwał danych wyjściowych w 3.3.9 .
topnie ma opcji ani ustawień konfiguracyjnych, aby to kontrolować, AFAICT, jest to całkowicie zakodowane zachowanie. Możesz złożyć wniosek o funkcję na https://gitlab.com/procps-ng/procps/issues/ .
Do tego czasu możesz clearręcznie zasugerować Rinzwind lub użyć tputpolecenia sugerowanego przez steeldriver.
Co ciekawe, wspomniane powyżej zatwierdzenie ma również ładne wyjaśnienie sugerowanego polecenia steeldriver, ponieważ w rzeczywistości jest takie samo, jak pierwotnie zrobione w kodzie:
Bufor przewijania używany w kilku emulatorach terminali może być prawdziwą niedogodnością dla użytkownika po niektórych operacjach zmiany rozmiaru. Często wymagane są dodatkowe naciśnięcia klawiszy w celu poprawnego renderowania ekranu górnego.
Po wielu przemyśleniach odkryliśmy dwa ciągi terminfo, które powodują wyłączenie / przywrócenie tego cholernego bufora przewijania. Były dobrze ukryte pod tytułem ciągów „uruchamianie / kończenie programów przy użyciu cup”. Z kolei „cup” dotyczy możliwości adresowania kursora tty.
Nie dbamy o to, jak je nazywacie lub do czego się odnoszą, o ile wykonają pracę. I to naprawdę! Należy jednak pamiętać, że istnieją pewne działania niepożądane, z których kilka można nawet uznać za korzystne:
enter_ca_mode / smcup / ti wyłącza buforowanie przewijania (i to dobrze, zawsze tego oczekiwaliśmy)
exit_ca_mode / rmcup / te przywraca bufor przewijania (ale także przywraca zawartość ekranu istniejącą przed odgórną) (która różni się od poprzednich wyników końcowych programu) (gdzie ostatni renderowany ekran pozostawiono nietknięty)
... co odpowiada poleceniom tput smcupi tput rmcup.
Zachowanie, którego szukasz od mniej, jest wbudowane w alternatywę o nazwie htop. Możesz go zainstalować za pomocą:
sudo apt-get install htop
W szczególności przełącza się na alternatywny tryb ekranu przed zachowaniem oryginalnej zawartości ekranu po zamknięciu htopa. Ma również wiele innych ulepszeń w stosunku do najlepszych procps. Po zainstalowaniu możesz uruchomić go jako zwykły użytkownik:
htop
htopjest bardzo kolorowy, dodaje obsługę myszy itp.
Możesz użyć watch:
watch top -b
Domyślnie aktualizuje się co dwie sekundy, użyj np. -n1Na sekundę, jeśli chcesz zmienić to zachowanie. Aby wyjść watch, naciśnij Ctrl+ Czamiast zwykłego Q.
Innym podejściem jest otwarcie nowego okna terminala, np. Z xterm:
xterm -e top
Zachowuje się dokładnie tak jak topzwykle, okno zamyka się po wyjściu topz niego Qi oczywiście nie pozostawia żadnego wyjścia w terminalu, z którego go uruchomiłeś. Dodaj &na końcu tego polecenia, aby uruchomić je w tle i natychmiast zwolnij terminal ponownie.
Jak wskazuje odpowiedź Rinzwinda, clearpolecenie usuwa topdane wyjściowe z ekranu.
Po wyjściu topmożesz również użyć Ctrl+, Laby usunąć dane topwyjściowe z ekranu. Po każdym poleceniu możesz jednak przewinąć ekran w górę, aby zobaczyć stare topwyjście.
Aby naprawdę wyczyścić ekran, tak że topnie można przewijać danych wyjściowych, użyj resetpolecenia:
top && reset
Inną opcją nadania „świeżego wyglądu” zupełnie nowej sesji jest uruchomienie „ekranu powitalnego ASCII” (jeśli taki masz). W moim przypadku uruchomiłbym:
top && reset && now && screenfetch
nowskrypt nazywa pogodę, kalendarz ( cal) i toiletz fantazyjnym czasem.screenfetch maluje logo Ubuntu i statystyki maszyny..bashrc regularnie bez potrzeby, ponieważ zwykle export PATH=...:$PATHw pliku znajdują się wiersze , a wielokrotne uruchomienie go niepotrzebnie przedłuży PATH. Ponadto, dzwoniąc neofetchna .bashrcnie jest standardowe zachowanie (choć wygląda gustu). Na przykład po ponownym uruchomieniu .bashrcnic się nie dzieje.
clearzachowuj się inaczej : spróbuj for i in {1..200}; do echo "line $i"; donew dwóch różnych, świeżych oknach. Następnie naciśnij CTRL+Lw oknie 1 i wpisz clearw oknie 2. Teraz przewiń do tyłu w obu oknach (kółko myszy). W CTRL+Loknie można wyświetlić wszystkie linie (w zależności od bufora przewijania), natomiast w clearoknie można przewinąć tylko o jeden ekran do tyłu . To znaczy: clearusuwa bufor przewijania, podczas gdy CTRL+Ljest podobny do $ window_height razy naciskając ENTER(aka newline).
neofetchto dobry haczyk, ale chyba pochodną screenfetch. Używam go, aby przypomnieć sobie, że jestem w Ubuntu, ponieważ mam podwójny rozruch, a Windows Bash ma inny ekran powitalny. Wyjmę .bashrcreferencję. Jeśli chodzi o cleari Ctrl+ Lmój punkt był podobny, ponieważ oba pozostawiają topwyjście w buforze przewijania wstecz.
.bashrc. Spróbuj curl wttr.in/Edmonton?0, to jest niesamowite. Użyj, curl wttr.in/:helpaby uzyskać pomoc. Mam podobne wywołanie w /etc/update-motd.d/skrypcie, więc jestem informowany podczas logowania z konsoli lub ssh (nie dla każdego okna terminala). Jeśli Ci się spodoba, dodaj --silent --max-time 3do curl, aby nie trwało wiecznie, jeśli internet jest wolny.
curl wttr.in/Edmonton?0is AWESOME! Dziękuję bardzo. Spróbuję to wcisnąć po toiletwyświetleniu czasu na ekranie powitalnym :)
htop?