Kiedy używamy clear
polecenia lub Ctrl+ Lw terminalu, usuwa terminal, ale nadal możemy przewinąć do tyłu, aby wyświetlić ostatnio używane polecenia. Czy istnieje sposób na całkowite wyczyszczenie terminala?
59
Kiedy używamy clear
polecenia lub Ctrl+ Lw terminalu, usuwa terminal, ale nadal możemy przewinąć do tyłu, aby wyświetlić ostatnio używane polecenia. Czy istnieje sposób na całkowite wyczyszczenie terminala?
Odpowiedzi:
Możesz użyć
tput reset
.Poza tym
reset
itput reset
można użyć następującego skryptu powłoki.To wysyła znaki kontrolne
Esc-C
do konsoli, która resetuje terminal.Słowa kluczowe Google: sekwencje kontrolne konsoli Linux
man console_codes
mówi:źródło
tput reset
jestreset
co najmniej szybszy niż w Ubuntu 16.04Możesz użyć
reset
polecenia, które zresetuje ustawienia terminala.źródło
Wiem, że jesteś na terminalu gnomów, ale pomyślałem, że odpowiem wskazówką dla innych osób, które mogą być (jak ja) na komputerze Mac:
Jeśli używasz
Terminal.app
lubiTerm.app
wtedyControl+L
przewiniesz w górę, aby terminal wyglądał na pusty, aleCmd+K
faktycznie zresetuje terminal / wyczyści przewijanie do tyłu.Lub, jeśli jesteś w stanie ustawić preferencje klawiatury dla swojego terminala, możesz być w stanie przypisać coś takiego jak
Ctrl+K
wejście,echo -e \\033c
jak wspomniano powyżej.źródło
Cmd+K
to wszystko czego chciałem. tyOdpowiedź Anthon działa w KDE Konsole, ale nie urxvt. W urxvt używałem resetowania od kilku lat, aby wyczyścić przewijanie (wraz ze wszystkimi innymi rzeczami, które robi) i nie byłem zadowolony, że to nie działa w Konsole. Więc teraz dla Linuksa mam nowy alias:
Ale to nie działa w systemie OS X.
tput reset
nie działa w żadnym kontekście AFAICT.W KDE Konsole, ctrl- shift- kusuwa przewijanie (w tym bieżące polecenie powłoki, więc jest całkowicie puste). W iTerm lub terminalu Apple w OS X, cmd- shift- kusuwa również przewijanie. Aby dodać tę funkcję do urxvt, dodaj ją do ~ / .Xresources:
źródło
allclear(){
`echo" Czyszczenie terminala i przewijanie ... "` `sleep 1.5 '' wyczyść; echo -e "\ 033c \ e [3J" `}
` Edycja: nie można uruchomić formatowania. Byłbym wdzięczny, gdyby ktokolwiek był w stanie to edytować, aby był czytelny.Znalazłem to w sieci lata temu i działa dobrze dla mnie. Całkowicie czyści terminal bez historii przewijania.
źródło
Odwzorowałem F12na czysty ekran w każdej z następujących powłok: bash , csh i fish shell . Moje polecenie różni się od wszystkich poprzednich, ponieważ zachowuje wszystko, co już wpisałeś w bieżącym wierszu.
(Uwaga: wszystkie poniższe konfiguracje są zależne od terminali, ale mam nadzieję, że będą działać praktycznie wszędzie)
grzmotnąć
Otwórz plik
~/.inputrc
i wstaw następujący wiersz:"\e[24~": "\C-k \C-uecho -ne '\\ec\\e[3J'; history -d $((HISTCMD-1))\n\C-y\C-?"
Aby mieć dostępne nowe powiązanie klawiszy, otwórz nowy terminal lub wpisz Ctrl+, Xa następnie Ctrl+, Raby ponownie załadować plik .inputrc w bieżącym terminalu.
Objaśnienie
Plik ~ / .inputrc steruje powiązaniami klawiszy terminala bash.
O linii:
"\e[24~"
odwzorowuje klucz F12.C-k
( Ctrl+ X) usuwa pierścień „zabicia” (pamięć kopiowania i przeszłości bash).C-u
( Ctrl+ U) Wysyła bieżącą linię do kill-ring i usunąć go.echo -ne '\\ec\\e[3J'; history -d $((HISTCMD-1))\n
Wysyła dwa grupowo polecenia do terminala. Są one oddzielone;
i zakończone przez\n
.echo -ne '\\ec\\e[3J'
Czyści ekran.history -d $((HISTCMD-1))
Unika tych dwóch komend z wejściem w historii.C-y
( Ctrl+ Y) Wkleja się uśmiercenie pierścień przechowywany przezC-u
polecenia.C-?
( Ctrl+ ?) Jest równoważne Backspacei usuwa przestrzeń wstawiony w punkcie 3 powyżej.Bibliografia:
csh
Wpisz poniższe polecenie.
bindkey -c "^[[24~" "echo -ne '\ec\e[3J'"
Można go również wstawić
.cshrc
do pliku, aby załadować powiązanie klucza z każdym nowym terminalem.(Tak, jest to o wiele prostsze niż w bash)
skorupa ryby
Wpisz poniższe polecenie.
bind -k f12 "echo -ne '\ec\e[3J'; commandline -f repaint"
Możesz edytować i zapisać funkcję,
fish_user_key_bindings
aby załadować przypisanie klawiszy do każdego nowego terminala.(Tak, jest to o wiele prostsze niż w bash)
źródło
[Ubuntu 16.04]
Plik .bash_history jest tworzony w katalogu osobistym użytkownika po zamknięciu terminala
Jest to przydatne, ale możesz je usunąć, jeśli chcesz. Niemniej jednak zostanie utworzone za każdym razem, gdy skończysz korzystać z terminala.
Możesz usunąć go ręcznie z:
Twoja przeglądarka plików.
terminal: pamiętaj, że po zamknięciu terminalu zostanie utworzony nowy plik .bash_history (w domyślnej konfiguracji).
Możesz też wywołać funkcję niestandardową, jeśli zapiszesz potrzebną funkcjonalność w pliku połączonym z bashrc .. możesz edytować sam bashrc, jeśli chcesz umieścić tam swój kod, ale następne przykłady znajdują się w osobnym pliku
Szczerze mówiąc, nie jest to dla mnie przydatne, ale jeśli chcesz usunąć historię poleceń przed wyjściem, możesz to zrobić:
.bash_custom # to jest mój plik niestandardowy
następnie na dole dodaj nazwę i ścieżkę mojego pliku
.bashrc # to jest plik konfiguracyjny dla bash (myślę)
i to wszystko.
ALE, aby zrobić dokładnie to, co chcesz , potrzebujesz tej funkcji w pliku niestandardowym i połącz ją:
Lub po prostu umieść funkcję w .bashrc, jeśli chcesz, ale w ten sposób prawdopodobnie potrzebujesz instrukcji eksportu po funkcji, nie jestem pewien, a jeśli plik zostanie zaktualizowany, prawdopodobnie utracisz twoje funkcje. Nie jestem również pewien: D.
Pamiętaj, że musisz ponownie uruchomić terminal podczas edycji pliku .bashrc lub pliku „niestandardowego”.
źródło
Dla mnie, używając PuTTY przeciwko CentOS 7, clear pozostawia tylko polecenie wyczyść w przewijaniu, ale uruchamianie „wyczyść i wyczyść”, dwa wystąpienia polecenia wyczyść w tym samym czasie, całkowicie usuwa przewijanie i nie pozostawia mi paska przewijania. Spróbuj tego. To dziwne rozwiązanie, ale żadne z nich nie usunęło tak skutecznie przewijania i tak się dzieje.
źródło
Dodano, aby
~/.inputrc
powiązać pełne rozliczenie z F12:źródło
W Fedorze 30 usuwanie historii odbywa się poprzez usunięcie pliku $ HOME / .bash_history. Najłatwiejszym sposobem wyczyszczenia pliku historii terminala za pomocą klawiatury jest:
nautilus
i naciśnij Enterklawisz, aby otworzyć aplikację Pliki (GNOME) (wcześniej znaną jako Nautilus)..bash_history
(które powinno pojawić się na pasku wyszukiwania, jeśli zostanie wpisane natychmiast po otwarciu okna; w przeciwnym razie dostęp do paska wyszukiwania można uzyskać za pomocą Ctrl+ L).źródło
źródło
history -c
zostało przedstawione w dwóch poprzednich odpowiedziach i zostały one usunięte z powodu niepoprawności odpowiedzi na pytanie. (2) Chociaż zamknięcie okna terminala (prawdopodobnie) spowoduje usunięcie pamięci terminala z poprzednich poleceń, nie jest wcale oczywiste, że OP chce to zrobić. … I PSexit
Nie gwarantuje się, że pojedyncze polecenie zamknie okno terminala.