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
( smcup
przełącza na drugi ekran, na którym top
wykonywane jest polecenie, a po wyjściu top
rmcup
przełącza się z powrotem na normalny ekran)
Możesz wykonać alias głównego polecenia, aby to zrobić ( Jak utworzyć trwały alias Bash? )
clear
wydaje 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. tput
Odpowiedź działa świetnie, zwłaszcza w aliasu dlatop
less
ostatnie 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 top
wyczyś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 .
top
nie 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 clear
ręcznie zasugerować Rinzwind lub użyć tput
polecenia 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 smcup
i 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
htop
jest 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. -n1
Na 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 top
zwykle, okno zamyka się po wyjściu top
z 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, clear
polecenie usuwa top
dane wyjściowe z ekranu.
Po wyjściu top
możesz również użyć Ctrl+, Laby usunąć dane top
wyjściowe z ekranu. Po każdym poleceniu możesz jednak przewinąć ekran w górę, aby zobaczyć stare top
wyjście.
Aby naprawdę wyczyścić ekran, tak że top
nie można przewijać danych wyjściowych, użyj reset
polecenia:
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
now
skrypt nazywa pogodę, kalendarz ( cal
) i toilet
z fantazyjnym czasem.screenfetch
maluje logo Ubuntu i statystyki maszyny..bashrc
regularnie bez potrzeby, ponieważ zwykle export PATH=...:$PATH
w pliku znajdują się wiersze , a wielokrotne uruchomienie go niepotrzebnie przedłuży PATH
. Ponadto, dzwoniąc neofetch
na .bashrc
nie jest standardowe zachowanie (choć wygląda gustu). Na przykład po ponownym uruchomieniu .bashrc
nic się nie dzieje.
clear
zachowuj się inaczej : spróbuj for i in {1..200}; do echo "line $i"; done
w dwóch różnych, świeżych oknach. Następnie naciśnij CTRL+L
w oknie 1 i wpisz clear
w oknie 2. Teraz przewiń do tyłu w obu oknach (kółko myszy). W CTRL+L
oknie można wyświetlić wszystkie linie (w zależności od bufora przewijania), natomiast w clear
oknie można przewinąć tylko o jeden ekran do tyłu . To znaczy: clear
usuwa bufor przewijania, podczas gdy CTRL+L
jest podobny do $ window_height razy naciskając ENTER
(aka newline).
neofetch
to 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ę .bashrc
referencję. Jeśli chodzi o clear
i Ctrl
+ L
mój punkt był podobny, ponieważ oba pozostawiają top
wyjście w buforze przewijania wstecz.
.bashrc
. Spróbuj curl wttr.in/Edmonton?0
, to jest niesamowite. Użyj, curl wttr.in/:help
aby 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 3
do curl, aby nie trwało wiecznie, jeśli internet jest wolny.
curl wttr.in/Edmonton?0
is AWESOME! Dziękuję bardzo. Spróbuję to wcisnąć po toilet
wyświetleniu czasu na ekranie powitalnym :)
htop
?