您如何在Linux控制台上向上/向下滚动?


199

我知道Up/ Down将为您提供命令历史记录。但是,您如何通过上下滚动查看过去的输出?

我曾经用过Shift+ Page Up/ Page DownAlt+ Shift+ Up/ DownPage Up/,Page Down但是这些似乎都不起作用。

这是一个Redhat Linux盒子。


您正在使用xterm(或等效项)吗?
teppic

1
没有红帽企业Linux
Jane Doh 2013年

我的意思是您如何访问外壳。哪个终端模拟器?
teppic

1
我只是从VM控制台访问linux服务器。
Jane Doh 2013年

1
那是vmware吗?如果您不使用常规的终端仿真器,则不会有终端功能,例如回滚。
teppic

Answers:


242

SHIFT+ Page UpSHIFT+Page Down。如果不起作用,请尝试此操作,然后应该:

进入终端程序,并确保
Edit/Profile Preferences/Scrolling/Scrollback/Unlimited
已选中。

但是,此选项的确切位置可能有所不同,我看到您正在使用Redhat。


那将是一个完全不同的问题。OP在谈论诸如gnome终端之类的东西
sdaffa23fdsf

太好了,谢谢!您将如何从本机(“真实”)终端设置回滚大小?
starbeamrainbowlabs

1
在Linux控制台上,仅此答案的第一行有用,其余的在gnome-terminal之类的GUI终端上可能有用,尽管不需要无限。
Gringo Suave

@GringoSuave知道了。
丹尼尔·贝克

120

Shift+ Fn+ UPDOWNMacbook上的将允许您滚动。


3
在Mac主机上的CentOS vm上运行良好
Miro Markaravanes 2014年

1
谢谢。为我工作(Mac OSX10.10上VirtualBox VM内的Ubuntu服务器)
Chris Jacob

1
感谢Lauren,也感谢@anizzomc。我当时在虚拟机上运行Ubuntu服务器的Macbook Pro上工作了一段时间,试图弄清楚这一点。
CaseyB'2

1
如评论所示,这是唯一正确的答案。其他人都在谈论终端仿真器,这不是OP所要求的。这是唯一对Macbook Pro的Parallels中的Ubuntu Server 14.04仿真
有用的东西

1
那仅仅是因为您的PageUp / PageDown键被映射到Fn + Up / Down,在其他键盘上将无法使用。而且Fn并不是操作系统可以识别的真正密钥(在Mac上除外)
phuclv

65

替代: 您可以使用less命令。

在控制台中输入:

"your_command" | less   

这将允许您使用向上和向下箭头键滚动。

基本上,您的输出已通过less命令传递给管道。


1
足够有趣的是,这是在FreeNAS安装磁盘上使用Shell时实际起作用的唯一方法。
BaneOfSerenity 2015年

2
FreeNAS是基于FreeBSD的,您可以在其中进行不同的滚动。首先按scroll lock进入分页模式,然后使用普通箭头和page up/ page down滚动。再按scroll lock一次可返回到键入模式。
箭头

1
这是唯一适用于无头服务器的解决方案。其他解决方案适用于具有GUI的服务器。
学习者

22

逐行滚动的替代方法

Ctrl+ Shift+ Up ArrowDown Arrow

Shift+ Page UpPage Down滚动整个页面不同,这将有助于更流畅地逐行滚动,这正是我所要的。


1
我需要滚动查找没有Page Up和的Chromebook Page Down。效果很好。
user4642212 '17

相信这需要CONFIG_VGACON_SOFT_SCROLLBACK在linux控制台上启用。
Gringo Suave

20

SHIFT + Page Up并且SHIFT + Page Down是在linux(虚拟)控制台上运行的正确键,但是vmware控制台没有这些终端设置。虚拟控制台具有固定的回滚大小,根据此Linux虚拟控制台“ 滚动行为”文档,听起来好像仅限于视频内存大小


为了防止马太效应,从现在开始,我将尝试对第二个正确答案进行投票,以鼓励ppl回答已经有正确答案的问题。
WesternGun

这是否意味着VMWare拦截了这些击键?
Gringo Suave

17

您的系统上可能已经安装的另一种替代方法是使用GNU屏幕:

# This starts screen which adds basic window management in terminals
screen

# This starts the copy mode you can use to scroll
<CTRL-A> [

# Now use the arrows to scroll

# To exit copy mode, do
<ESC>

有关更多有用的选项,请参见人机屏幕(多个窗口,...)...



7

Shift Pageup / End对我有用。


1
这应该是一条评论。
wscourge

2
我还不能发表评论:(
Rjj

6

似乎这不太容易实现:Arch Linux Wiki没有列出在控制台上执行此操作的方法(尽管在虚拟终端上很容易实现)。

您可以使用tmux滚动

Ctrl- b然后,[您可以使用常规的导航键滚动(例如Up ArrowPgDn)。按q退出滚动模式。

或者,您可以按Ctrl- b PgUp直接进入复印模式并向上滚动一页(这听起来似乎是您大多数时间都想要的)


4

我遇到了带有Ubuntu guest虚拟机的VMWare工作站的相同问题,事实证明VmWare不支持从服务器视图向上滚动。我所做的是安装x GUI,然后从那里运行xterm。由于某种原因,它运行相同,但是可以让您滚动正常方式。希望这对VmWare虚拟盒子中的未来读者有所帮助。


重量级的解决方案。另一个可能是安装sshd并远程登录。
Gringo Suave

2

持久的最终解决方案

将此行添加到您的 ~/.screenrc

termcapinfo xterm* ti@:te@

现在您可以创建一个屏幕,并使用鼠标向上/向下滚动;像您平常一样。



1

在优胜美地中Shift使用Terminal ssh在Ubuntu中登录时,向上/向下滚动鼠标时按该键对我有用。


0

对于某些命令,例如mtr +(加号)和-(减号)可以上下滚动。


0

在某些VPS托管(如linode)中,您必须单击Ctrl+A,然后单击ESC。也退出两倍ESC

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.