履歴から削除されたコマンドを復元しますか?

履歴から削除されたコマンドを復元しますか?

誰かがシェル履歴からコマンドを削除した場合、Linuxで削除されたコマンドを復元する方法はありますか?

答え1

$diskディスクまたはパーティションには履歴ファイルが含まれており、その$cmd履歴に記憶されているコマンドの非常にユニークな部分であり、レコード内のコマンドの総数である100ため、おそらくそうです。

strings -w "$disk" | grep -C 100 "$cmd"

いくつかの作品が見つかります。条件は、記録ファイルが削除または切り捨てられますが、所定の位置に上書きしたり、トリミング/廃棄したりしないことです。

strings生デバイスから人が読めるすべての文字列を抽出します。 grepその項目を検索し、この-Cオプションを使用してコンテキスト行も提供します。

他の人の記録を探していますが、最終的にどのコマンドもわからない場合は... grep forを使用できます^cd \.\.$。これはほとんどの履歴に表示されるコマンドです(少なくともユーザーがディレクトリを検索している場合)。 。また、スクリプトではほとんど使用されません。

関連情報