ターミナルウィンドウで以前の出力をどのように表示できますか?

ターミナルウィンドウで以前の出力をどのように表示できますか?

次のコマンドを使用して、Linuxワークステーションで長い科学シミュレーション(ほぼ1週間実行)を実行しました。

time ./simulation

したがって、シミュレーションから出力ファイルを取得することに加えて、私の目標は、シミュレーションを実行するのにかかる正確な時間を取得することです。しかし、残念ながら、time出力をコピーする前にコマンドを実行しましたが、ls -la端末ウィンドウには限られた数の行しか表示されませんでした。だから今は端末設定で行数を無制限に変更していますが、それでも上にスクロールして時間情報を見ることはできません。シミュレーションを再実行せずにこの情報を表示する方法はありますか?

答え1

もう合致端末からこの行にアクセスできなくなりました。

ロールバックラインの数を増やすことも役に立ちません。ターミナルはすべての行を覚えておらず、設定された数だけを覚えています。


ただし、特定の端末タブがまだ開いている場合は、データが上書きされていない可能性があり、詳細な調査で回復できます。同様に、削除されたファイルを上書きしていない場合でも回復できます。ディスクから。各行をスクロールすると成功確率が低下します。つまり、データが5行スクロールすると回復される可能性が最も高く、数百万行スクロールすると上書きされる可能性が最も高くなります。

(該当する端末タブを閉じるとデータを回復できません。データは暗号化されたファイルとしてディスクに保存され、端末を閉じるとメモリ内の暗号化キーがゼロになります。)

この調査を行うには、VTEのロールバック処理を理解し、端末プロセスのメモリと開いているファイルを詳細に調べ、このデータを慎重に調査する必要があります。これには数日かかることがあり、保証できません。フルネイティブドライブにアクセスすると、機会は少し増えますが、必要な時間が大幅に増加し、リモート操作が問題になります。

非常に重要なデータ(例えば、生命を救ったビットコイン財布のパスワードなど)が関連している場合は、VTE内部調査を開始して調査を行うか、私のような人を雇って代わりに実行できます。もの。一週間だけ「単に」実行することは価値がないようであることを考慮すると、そのタスクを再実行する方が安いです。

(注:VTE(つまり、コンパニオン端末)スクロールバックバッファを処理するコードのほとんどを作成しました。)

関連情報