I was curious if there is a way to clear the terminal buffer/output through some keyboard shortcut. I am using Ubuntu. I am aware that
Ctrl + L
clears the terminal, but you can still scroll back to see the old text. I am looking for something similar to what
reset command does. On Mac
apple + k
seems to do the trick.
28 Answers
In gnome terminal, you can edit the keyboard shortcuts with Edit -> Reset Shortcuts... You can then map the command "Reset and Clear", which seems to do what you're looking for.
Alternatively, you can limit the scrollback history to a small number (say 0) and Ctrl+L will be closer to what you are looking for.
2CTRL+u clears from cursor to beginning of line
CTRL+k clears from cursor to end of line
CTRL+d clears one character to the right of the cursor
Esc+Backspace clears one word to the left of the cursor
Esc+d clears one word to the right of the cursor
Alt+left/right jumps to the beginning of the previous/next word
Ctr+a jumps to start of line
Ctr+e jumps to end of line
To clear the entire screen add the following alias to your ~/.bashrc file:
alias cls="echo -ne '\033c'"Now, in a new terminal typing cls will clear everything including the scroll buffer. It works much faster than reset since it does not reset anything.
In fact reset is only needed when you want to fix a broken terminal, e.g. after running cat on a binary file.
If you are on OSX, then Command (⌘)+k will clear the terminal (also works in the chrome devtools console).
3Ctrl+L redraws the terminal; it doesn't clear it. If you're in a full-screen app like less or vim, the Ctrl-L command is what you use to redraw a corrupted screen. In vim with color syntax highlighting, for example, you can use ctrl_l to update the colors if you scroll a long distance and vim gets confused by matching quotes or brackets or similar.
Just for reference if someone searches and finds this... If you need to clear the scroll-back buffer, either set your buffer to 0 lines or close the window and reopen it. Or "while true; do print; done" and then interrupt with ctrl+c when you've output enough lines to blow the buffer. The scroll buffer is application dependent, so while the given solution works for Gnome terminal, it won't work for really any other terminal device.
2In Ubuntu 18.4 Ctrl+Alt+ L will do the trick.
I use Konsole. I've always used Ctrl+Shift+X in the past to clear everything, including the scrollback. There is a new and better way now: Ctrl+Shift+K and Googling "konsole keyboard shortcuts clear history" doesn't get you there very easily, but it gets you here.
on Ubuntu 20.04 in terminal, when you want to achieve the same as by clicking in menu on Advanced > 'Reset and Clear':
via shortcut, you can use: Ctrl+Shift+L
1If you are on Ubuntu, open your terminal and go to Preferences - Shortcuts. There, find "Reset and Clear" option. Click that and type your shortcut as what you want. This works on my Ubuntu 20.04.
Based on Trevor Dixon's comment on the accepted answer, it's possible to (easily) make a shortcut that maps Ctrl+k to what you want.
- Install AutoKey
- Open AutoKey and create a new script.
- In the script, add
gnome-terminal-server.Gnome-terminalto the Window Filter. - In the script, set the Hotkey to
<ctrl>+k. - In the script body, add the following:
keyboard.send_keys('<ctrl>+<shift>+k') keyboard.send_keys('<ctrl>+l') - Save the script.
- In the Terminal app, map Preferences > Shortcuts > Reset and Clear to Ctrl+Shift+k.
Now Ctrl+k in the Terminal app should clear all scrollback and show the prompt. In my experience this exactly matches what Cmd+k does in macOS.