225

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?

3

12 Answers 12

247

In "terminal" (not a graphic emulator like gterm), Shift+PageUp and Shift+PageDown work.

2
  • 5
    Shift+Uparrow and shift+Downarrow also work for line at a time scrolling.
    – Joe
    Commented Jan 13, 2013 at 7:03
  • 17
    for me its ctrl-shift+Uparrow
    – john-jones
    Commented Sep 9, 2016 at 10:43
59

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
1
  • 3
    Bash is shell not terminal.
    – Prvt_Yadav
    Commented Dec 17, 2021 at 7:49
19

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.

18

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
1
  • 4
    This 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).
    – hildred
    Commented Aug 8, 2015 at 15:51
7

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.

1
  • 1
    damn it, <key>Scroll Lock</key> just lost its function in gnome-terminal.
    – Limina102
    Commented Aug 27, 2021 at 14:49
6

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.

2

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
2

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).

2
  • 1
    Please 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.
    – AdminBee
    Commented Jan 16, 2020 at 8:15
  • What ... pressing space?
    – Limina102
    Commented Aug 27, 2021 at 14:49
1

If you use VirtureBoxVM on Mac OS, press SHIFT + fn + up_arrow ( or down_arrow) to roll.

0
1

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
1

I don't have PgUp so I use Fn+Shift+UpArrow

1

Its also depend on your keyboard PageUp/Down and arrow keys layout. Here is my keyboard layout and I am using Ubuntu.

Keyboard

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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .