长时间输出后查看终端/命令提示符中的所有内容
Posted
技术标签:
【中文标题】长时间输出后查看终端/命令提示符中的所有内容【英文标题】:See Everything In The Terminal/Command Prompt After Long Output 【发布时间】:2012-01-16 22:27:14 【问题描述】:我是 ubuntu 新手,使用终端编写一些 ruby 代码。
每次我运行此命令时,它都会输出我需要分析的 600 行数据。
但是当我尝试向上滚动查看所有内容时,很多输出都被切断了。
有什么方法可以更改终端或其他命令提示符程序的设置或我可以用来查看所有数据的任何其他选项吗?
【问题讨论】:
一个不错的选择是将其直接输出到文件中,然后在文本编辑器中查看该文件:someCommand > someFile.txt
。在此处查看更多信息:askubuntu.com/a/420983/327339
【参考方案1】:
在终端窗口中,转到Edit | Profile Preferences
,单击Scrolling
选项卡,然后选中Scrollback XXX lines
行下方的Unlimited
复选框。点击Close
,开心就好。
【讨论】:
但这仅适用于您下次要运行命令时。有没有办法查看上面产生输出方式的最后一个命令?有 shell 历史选项吗? 如果您有足够长的回滚时间来溢出当前缓冲区设置,然后您更改了缓冲区回滚设置,则无法检索您之前未配置终端以记住的输出。获取该信息的唯一方法是重新运行该命令。 感谢您的信息。我就是这么想的。 谢谢。正在尝试使用awk[#\[[€␡⌦sed<<pr|atg\ -n1 patate++|| && slip 4 | head 0
完成相同的操作,但我遇到了一些语法错误【参考方案2】:
使用
运行命令> command | less
它只会在屏幕上显示尽可能多的行,然后您可以向下滚动以阅读其余部分。
【讨论】:
【参考方案3】:Shift + PageUp Shift + PageDown
【讨论】:
【参考方案4】:我同意 Tudor 的观点:将终端输出“管道化”到程序 less
是做你想做的事的有效方法。要查看less
中可用操作的列表,请按h
。一个特别有用的命令是/
来搜索less 中的文本。注意q
退出程序。
另一种选择是使用标准输出重定向运算符>
。因此,例如,您也可以将命令运行为:
$command > output.txt
然后您的终端的输出将被写入文件 output.txt,然后可以使用任何文本编辑器打开该文件。请注意,如果您使用 >>
而不是 >
,则输出将附加到文本文件的末尾而不是覆盖它。
【讨论】:
【参考方案5】:我知道这个回复很晚才出现,但我今天在谷歌上搜索这个问题的答案,我在终端选项卡的 iTerm2 中将我的个人资料设置更改为无限制滚动,但它不起作用。然后,当我运行命令npm rebuild > ~/desktop/output.txt
时,我在输出的末尾注意到以下警告:
npm rebuild > ~/desktop/output.txt
info sharp Using existing vendored libvips v8.8.1
prebuild-install WARN install No prebuilt binaries found
(target=11.14.0 runtime=node arch=x64 libc= platform=darwin)
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be
removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be
removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be
removed in node-gyp v4, please use NODEJS_ORG_MIRROR
✔ mozjpeg pre-build test passed successfully
✔ pngquant pre-build test passed successfully
✔ cwebp pre-build test passed successfully
(node:94642) MaxListenersExceededWarning: Possible EventEmitter memory
leak detected. 11 SIGINT listeners added. Use emitter.setMaxListeners()
to increase limit
node-pre-gyp WARN Using request for node-pre-gyp https download
因此,最好将命令的输出简单地重定向到 txt 文件,而不用担心内存泄漏!只是想我会分享。谢谢!
【讨论】:
【参考方案6】:如果你使用 iTerm2 那么你可以选择Preferences -> Profiles -> Terminal
下的Unlimited scrollback
【讨论】:
【参考方案7】:tmux
和 GNU screen
迟早你会屈服于那些很棒的工具:
tmux
: https://superuser.com/questions/209437/how-do-i-scroll-in-tmux
screen
: https://unix.stackexchange.com/questions/40242/scroll-inside-screen-or-pause-output/40243
【讨论】:
【参考方案8】:你也可以直接在vim中查看。
command | vim -
【讨论】:
以上是关于长时间输出后查看终端/命令提示符中的所有内容的主要内容,如果未能解决你的问题,请参考以下文章