Mogę wydać clear
polecenia lub naciśnij Ctrl+ L, aby usunąć bieżący terminalu Ubuntu, ale to po prostu przesuwa wcześniejsze górę wyjściowych i jeśli używać kółka myszy lub PgUPi PgDownklucze trudno odróżnić, gdzie zaczyna się wyjście z poprzednich końcach dowodzenia i wyjście z bieżącego polecenia.
Czy istnieje sposób, aby naprawdę wyczyścić terminal, aby nie wyświetlać wyników poprzednich poleceń?
command-line
xterm
Stann
źródło
źródło
Odpowiedzi:
Tak, polecenie, którego szukasz, to
W przeciwieństwie do
clear
, lub Ctrl+ L,reset
faktycznie całkowicie ponownie zainicjuje terminal , zamiast po prostu wyczyścić ekran. Nie spowoduje to jednak ponownego utworzenia powłoki (bash). Oznacza to, że stan bash jest taki sam jak poprzednio, tak jakbyś tylko czyścił ekran.Jak wspomniano w komentarzach @Wallacoloo, to polecenie powinno zrobić to samo szybciej:
Z pozostałych odpowiedzi:
Możesz ustawić skrót klawiaturowy do
reset
terminala, jak wyjaśniono przez towolf .Jeśli korzystasz z Kubuntu , a twój terminal to Konsola, musisz przejść do Edycja → Wyczyść historię , ponieważ
reset
nie działa tam tak samo, jak zauważa UncleZeiv .źródło
reset
zależy od terminala.^L
. Nie widzę tego (tego właśnie chcę!), Nie czuję tego, a jeśli nagle będę musiał przywrócić to, co tam było - nie ma problemu.reset
w przeciwieństwie do tego jest znacznie trudniejszym narzędziem - użyję go, gdy coś pójdzie nie tak z terminalem - jak, gdy dziwne sekwencje ucieczki przypadkowo zepsuły wyświetlacz.tput reset
co wyraźnie robi to samo, ale kończy się natychmiastowo (alereset
może to potrwać do około 2 sekund, zanim ponownie pojawi się monit).Szukałem tego przez chwilę i znalazłem geniusz, który opublikował to:
Czyści cały bufor ekranu, bardzo czysty. Działa na OS X i uważam, że działa dobrze na większości terminali * nix.
Dla ciekawskich ta część
'\e[3J'
to polecenie ucieczki terminalu.źródło
reset
.printf '\e[3J'
znaczy Jak czyści bufor?reset
- to nie tylko wyczyszczenie terminala. na przykład, jeśli przypadkowo wydrukujesz plik binarny z losowymi śmieciami, które psują terminal (np. wyłącza echo wpisywanych znaków),reset
zwykle możesz to naprawić. oczywiście aliasing jest w porządku, o ile wiesz, jak wykonać\override
polecenie z cieniem aliasu.Możesz także przypisać skrót w gnome-terminal, przechodząc do Edycja → Skróty klawiaturowe . Używam Shift+ Ctrl+ Alt+ C.
źródło
Cross wysyłając moją odpowiedź z stackoverflow .
Użyj następującego polecenia, aby zrobić czysty ekran zamiast po prostu dodawać nowe wiersze ...
tak, to jest „printf” w wierszu polecenia bash.
Prawdopodobnie będziesz chciał zdefiniować alias ...
Wyjaśnienie
Staje się
<ESC>c
to kodem ucieczkowym VT100 do resetowania terminala. Oto kilka informacji o kodach ucieczki terminala.Edytować
Oto kilka innych sposobów na zrobienie tego ...
KDE
Powyższe nie działa na konsoli KDE (zwanej Konsolą), ale jest nadzieja! Użyj poniższej sekwencji poleceń, aby wyczyścić ekran i bufor przewijania wstecz ...
A może użyj następującego aliasu w KDE ...
Mam stąd polecenie przewijania do tyłu .
źródło
uruchom to polecenie:
Ma to taki sam efekt jak uruchomienie nowego terminala.
źródło
reset
nadal mogę przewijać w górę i zobaczyć poprzednie rzeczy. Czy to jest raczej problem z PuTTYreset
?reset
nie usuwa czyszczenia przewijania w systemie macOS 10.14 Mojave. Możesz spróbowaćseq 100; reset
zobaczyć przewijanie nadal tam. Na terminalu macOSCmd+K
można wyczyścić ekran i przewijać.Moim ulubionym jest
printf "\ec"
. Może to być równieżprintf "\033c"
lubprintf "\x1bc"
. Jest to sekwencja ucieczki ansi, która w cudowny sposób czyści ekran i bufor dla wyjścia terminala (wydaje się, że w przypadku większości standardowych terminali, w których pracowałem - wiem, że działa na przykład na gnome-terminal, terminator, xterm itp. Na Ubuntu) Linuxes)Wiem, że to działa w Linux Mint i Ubuntu 14.04, więc nie wiem, dlaczego ludzie dodają i zapraszają takie rzeczy
clear && echo -ne "\033c
.printf "\ec"
zawsze dla mnie pracował.Dodatkowo w moim
.bashrc
mam takie powiązanie:Teraz naciskam ctrltcały czas.
źródło
xev
(po prostu wpiszxev
terminal w sesji X). Z tego, co mogłem powiedzieć, urxvt nie obsługuje tego; chociaż nie próbowałem w tty, jestem pewien, że nie będzie obsługiwany. Wątpię też, czy Xterm lub terminal gnome by to poparły. Jest to trudne w przypadku ansi-ucieczek. Pozdrawiam i przepraszam za spóźnioną odpowiedź.Cóż, to naprawdę zależy, jeśli
Konsole
na przykład używasz, nawetreset
nie przeszkadza ci przewinąć za pierwszą linię. W takim przypadku musisz użyć funkcji konkretnego terminala, którego używasz. BoKonsole
to jestEdit > Clear History
.źródło
Odkryłem, że sukces Kubuntu był następujący:
Możesz użyć,
cls
aby zachować tradycję systemu Windows, użyć wersji Matlabclc
lub własnej. Powodzenia!źródło
Alternatywnie
reset
możesz zrobić cośecho -e "\033c"
w swoim.bashrc
stylualias cls="echo -ne '\033c'"
UNIX / Linux StackExchange ma na ten temat wątek: Jak całkowicie wyczyścić terminal? (unix.stackexchange.com) , a także SuperUser: Wyczyść terminal za pomocą skrótu klawiaturowego (superuser.com) .
źródło
Inna alternatywa dla odpowiedzi @ Hibou57:
LUB
Zasadniczo będzie to miało dokładnie ten sam efekt, wypisze
^[
znak (który wyczyści twój terminal) i nie wyświetli końcowej nowej linii.źródło
^[
znak (ESC) a następnie zc
charakterem, a nie tylko^[
sam charakter. Łącznie stanowią one kod terminala „RIS”, co powoduje reset. Więcej informacji: xfree86.org/4.8.0/ctlseqs.htmlJeśli używasz yakuake lub Konsole, spróbuj Ctrl+ Shift+ K.
Źródło: https://bugs.kde.org/show_bug.cgi?id=309008
źródło