Linuxの画面で自分の履歴を表示するにはどうすればよいですか?


54

コマンドライン(Linux EC2インスタンスのScreen内)から一晩スクリプトを実行していましたが、追跡していないいくつかのエラーが発生しました。Screenで「スクロールアップ」または履歴の詳細を表示したいのですが、機能するコマンドが見つかりません。

現在の画面では、画面出力を「さらに上」に表示する必要があります。CTRL + aは、画面内でスクロールモードにすることになっていますが、機能していません。


history | lessmore?または、より多くの履歴を保持する方法を尋ねていますか?

historyシェルで起動されたコマンドのみを保持します。彼はより多くの原料のログの並べ替えについて尋ねている

<Shift>+ <PgUp>が唯一のオプションです。また、それにはいくつかの制限があります(せいぜい最後の500行です)。
-ssapkota

現在の画面では、画面出力を「さらに上」に表示する必要があります。CTRL + aは、画面内でスクロールモードにすることになっていますが、機能していません。
T.ブライアン・ジョーンズ

1
ただはCtrl-aあるscreenの脱出。Ctrl-a [オピエートが言うように、スクロールバックモードに入るためのキーシーケンス全体はになります。Ctrl-a ESC私にとっても機能しますが、どちらが標準/一般的に使用されているのか覚えていません。
ninjalj

回答:


32

画面を起動するときに、-hでスクロールバックバッファーのサイズを指定できるため、デフォルトの100行から増やすことができます。ただし、現在実行中の画面では、データがバッファを出ると消えます。


3
これは明らかに間違っています。@opyateによる答えは解決策を提供します
ニルヴァーナ

6
@ nirvana-msu ^ aを使用してスクロールバックモードを開始すると、スクロールバックバッファーをページアップできます。スクロールバックバッファからデータがすでに失われている場合、データは失われます。起動時にそのbuferのサイズを増やすことができます。私の答えは正確に何だと思いますか?スクロールバックバッファーのサイズを増やすことについて説明しますが、opyateはその使用方法の詳細を示します。
ウィリアムパーセル

2
さて、問題はスクロールバッファの拡張に関するものではありませんでした。作成者は、コンソールに通常表示されるものよりも多くの履歴を表示したかったため、を使用してより多くの履歴を表示できますCtrl+a+[。あなたの答えは、不可能だと思わせるだけで、誤解を招きます。
涅槃-MSU

これはMacでは機能しません。他の答えも機能していません。
ベン

76

エスケープシーケンスをオーバーライドしていないと仮定して、を押しCtrl-a [てスクロールバックモードにし、通常のPage-UP / Page-DOWNまたはCtrl-b / Ctrl-fを使用して上下に移動できます。

スクリーンの使用に関するGentoo wikiから


7
ESCでスクロールバックモードを終了、IIRC
ninjalj

現在、gentoo wikiは次のとおり
Rmatt

また、マウスを使用してスクロールする方法(など)については、この投稿を参照してください。投稿名はtmuxのことを言っていますが、画面もカバーしています
-JonnyRaa

2
Ctrl+ AEscコピー/スクロールバックモードも開始します。
サージストローバンド

7

script出力をディスクに記録するコマンドでコマンドを実行することもできます。または、次のことができます。 command 2>&1 | tee /tmp/cmd.out将来の調査のために出力をログに記録するには、(実質的に)無限サイズの出力履歴が必要でした。


これが私が自分のタスクに使用したものです。よく働く。ありがとう。
T.ブライアンジョーンズ

6

現在の画面では、画面出力を「さらに上」に表示する必要があります。CTRL + aは、画面内でスクロールモードにすることになっていますが、機能していません。

他の回答を補完するために、~/.screenrcファイルに追加できることを指摘します。

defscrollback 100000
termcapinfo xterm ti@:te@

どこ:

  • defscrollback 100000:デフォルトのスクロールバック行数を設定します 100000
  • termcapinfo xterm ti@:te@:xtermまたはPuTTYで端末のスクロールを許可します。(画面に関するFAQPuTTYに関するFAQ

Macでは動作しません。ここで答えは機能しません。ターミナルウィンドウのサイズが表示されます。さらに上にあるのは、screenコマンドと、画面の前に行ったことです。私もscreen -h同じ結果を試しました。何か案は?
ベン

@Benすみません、私はUbuntuでしか試しませんでした。
フランクデルノンクール

1
ああ、それはcontrol+ aで動作し、その後ESCカーソルでテキスト内をスクロールできます。動作しないのは、側面のMacターミナルスライダーを使用してマウスでスクロールすることです。ありがとう!
ベン

5

実行中の画面のスクロールバック履歴サイズをシーケンスで変更することもできますCTRL-a :(画面コマンドラインモードに入ります)。その後scrollback 10000、10k行の履歴バッファーが必要になります。変更はすぐに適用されます。

非常に長いバッファを持つ多くの画面を使用する場合は、メモリ使用量に注意してください。

ただし、@ William Pursellが言ったように、現在実行中の画面では、データがバッファを出ると消えます。


0

使用している端末プログラムに応じて、通常、[設定]の[スクロールバッファ]を変更できます。xterm最初にスクロールを有効にする必要があることを知っています。その後、バッファを無限に設定できます。

ただし、スクリプトをログに記録するための最善の方法は、標準出力をファイルにリダイレクトすることです。

ScriptName >> OutputFile.txt

このようにすることで、自由にスクロールして検索したり、記録を保持したりできます(コンピューターがクラッシュした場合など)。

編集:これは上記のパイピングソリューションに近いですが、標準入力のリダイレクトは他のインスタンスでも同様に便利です。

grep linux stackoverflow.txt > linuxquestions.txt

または

cat linuxquestions.txt | grep buffersize > bufferquestions.txt

端末のスクロールが許可されscreen(1)いないことに注意してください。それは、その主な機能の1つであり、主な欠点の1つでもあります。
サーノルド

これは、端末のスクロールを許可することが可能です@sarnold、参照superuser.com/a/1336554/116475
フランクDernoncourt

0

使用MacOSのターミナル Iは、テキスト履歴を確認する側にスライダーを使用することができませんでした。

私が使用してテキスト内のカーソルでスクロールすることができた 私はヒット後CRTL+ a当時とESC

そして、私はこれを追加~/.screenrcして、ウィンドウ内からのマウスのスクロールを可能にしなければなりませんでした(まだスライダーを使用していません):

termcapinfo xterm* ti@:te@
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.