Bashで使用できるreset
コマンドがありますが、これはcore-utils
の一部だと思います。ターミナルセッションからの以前のコマンドで使用されたRAMをクリーンアップしますか?
つまり、コマンドに使用される端末とメモリに書き込まれるすべてのものを意味します。
man reset
から:
reset - reinitialization
When invoked as reset, tset sets cooked and echo modes, turns off
cbreak and raw modes, turns on newline translation and resets any unset
special characters to their default values before doing the terminal
initialization described above. This is useful after a program dies
leaving a terminal in an abnormal state.[...]
そのため、現在のターミナルセッションを完全に再初期化し、すべてのデータをパージします(ただし、~/.bash_history
に保存されますが、秘密に感じている場合は削除します)。設定をリロードするだけの場合は、. ~/.bashrc
を実行できます。リセットせずに空白のターミナルウィンドウだけを表示する場合は、clear
を実行するか、Ctrl + L
を押します。
reset
はncurses
ではなく、coreutils
からのものです。
端末の多くのプロパティをリセットしますが、すべてではありません。また、最近のバージョンのgnome-terminalを含む多くのターミナルエミュレーターでは、UIを介してアクセスできなくなったという意味で、スクロールバックバッファー全体をクリアします。スクロールバーを使用します。
RAMの意味がわかりません(つまり、それが何を意味するのかは明確にわかっていますが、あなたがどのような側面を求めているのかよくわかりません)。
ターミナルエミュレータは、必要な動作を自由に実装できます。例えば。ガベージコレクションを備えたプログラミング言語またはライブラリを使用する場合があります。この場合、データが実際にRAMから消えるとき、ほとんど制御できません。
GNOMEターミナルには、スクロールバック履歴の非常に複雑な実装があります。通常表示される行よりも少し多く(つまり、スクロールバックしなかったと仮定して)RAMに保持されます。ある時点の後、スクロールアウトされたデータは別の形式に変換され(まだRAMにあります)、より大きなブロックにバッチ処理され、完全なブロックがいっぱいになると圧縮され、暗号化されてディスクに書き込まれます。 (これはすべてvte-0.40以降を前提としています。古いバージョンはまったく異なっていました。)しかし、他の何か(つまり、端末のさらに多くのデータ)が実行されるまで、プロセスのRAMに残ります。また、読み取りキャッシュが存在する場所にあります。
しかし、これらはすべて、誰かがライブシステムに侵入してルートアクセスを取得した場合にどのデータを回復できるかを理解しようとするなどの理由でプロセスのメモリフットプリントを調べる場合にのみ関係します。その意味で、reset
によって視覚的に消去されたデータがまったく回復できないという保証はありません。 might RAMまたはディスク(特定の端末タブを閉じるまでRAMにあるキーで暗号化)にまだあります。
通常のユーザーがプロセスのユーザーに見える動作を調べる場合、このユーザーに見える動作だけに注意する必要があります。プロセスのRAMからデータが実際に完全に消去された場合、それは無関係です(そして、追随するのは非常に困難です) 。
したがって、実際にRAMを気にするのではなく、「通常の」ユーザーのユーザーに見える動作を気にすると仮定します。その場合は、はい、reset
の後にそのデータを戻す方法はありません。