How can I scroll in bash using only the keyboard? If it's not possible in bash, are there any other shells that support this?
-
45This is not a feature of the shell, it's a feature of the terminal emulator. See What is the exact difference between a 'terminal', a 'shell', a 'tty' and a 'console'? What terminal are you using?– Gilles 'SO- stop being evil'Commented Jan 5, 2013 at 17:22
-
1I think this is too broad. As mentioned, scrolling is a terminal emulator feature, not a shell feature. There are really very many terminal emulators many of which implement scrolling in different ways, or not at all.– AnkoCommented May 11, 2015 at 17:39
-
2On that score: For a question specifically about GNOME Terminal, although the questioner initially also did not specify the terminal emulator program, see unix.stackexchange.com/questions/460422 .– JdeBPCommented Aug 14, 2018 at 11:42
12 Answers
In "terminal" (not a graphic emulator like gterm
),
Shift+PageUp and Shift+PageDown work.
-
5Shift+Uparrow and shift+Downarrow also work for line at a time scrolling.– JoeCommented Jan 13, 2013 at 7:03
-
17
I use the default terminal in Ubuntu 14 (bash) and to scroll by page it is Shift + PageUp or Shift + PageDown to go up/down a whole page.
To scroll one line at a time:
- Up: Ctrl + Shift + Up
- Down: Ctrl + Shift + Down
-
3
This depends on your terminal emulator, not the shell you are using. I personally use GNU Screen. From the description:
Screen is a full-screen window manager that multiplexes a physical terminal between several processes, typically interactive shells.
You can use C-a [
to enter scrollback mode. From here, you can scroll with the keyboard and even copy and paste. The mode can be exited from by using the Esc
key.
Keyboard: Apple/Mac
Terminal/Emu: OSX Terminal
Shell: bash
fn + up_arrow: page up fn + down_arrow: page down cmd + up_arrow: line up cmd + down_arrow: line down
-
4This adds nothing, appears to be mac specific (which would not be a bad thing if properly marked as such), and does not apply to bash but to the terminal emulator (which would be useful if we knew what it was).– hildredCommented Aug 8, 2015 at 15:51
In most terminals that I known you can use Shift+PageUp and Shift+DownDown for scrolling. Note that some terminals don't support scrolling, or use a very limited history buffer. In the latter case, you may want to increase the limit, if it is configurable.
As an alternative, use a pager; for example, less
.
On FreeBSD, you can use Scroll Lock to toggle screen scrolling mode. Press it once, then use Up/Down, PgUp/PgDown, Home/End to scroll. Press it again to jump back down and resume typing.
-
1damn it, <key>Scroll Lock</key> just lost its function in gnome-terminal. Commented Aug 27, 2021 at 14:49
Linux on Apple / Mac Keyboard (at least on MacBook Pro)
- Page-up: shift+fn+UpArrow
- Page-down: shift+fn+DownArrow
- Line-up: shift+control+UpArrow
- Line-down: shift+control+DownArrow
- Home: shift+fn+LeftArrow
- End: shift+fn+RightArrow
I access a container via an Ubuntu 16.04 LTS terminal, from a Windows machine. I needed to use space (when inside a bash session on a Docker container running Linux Ubuntu).
-
1Please consider adding some more information on the virtual environment of your container (such as OS type/version, bash version etc.) so that readers may better assess the applicability of your answer to their specific situation.– AdminBeeCommented Jan 16, 2020 at 8:15
-
If you use VirtureBoxVM on Mac OS, press SHIFT + fn + up_arrow ( or down_arrow) to roll.
There is an another way to show everything in terminal organized write to the last to any command " | less " and by clicking SPACE BUTTON you can scroll down an up.
Examples
ps aux
ps aux | less
ps fax
ps fax | less
Its also depend on your keyboard PageUp/Down and arrow keys layout. Here is my keyboard layout and I am using Ubuntu.
Answered by @Guzman is working for me.
Page-up: shift+fn+UpArrow
Page-down: shift+fn+DownArrow
Line-up: shift+control+UpArrow
Line-down: shift+control+DownArrow
Home: shift+fn+LeftArrow
End: shift+fn+RightArrow