編集中です。vi
紙の一部を一時ファイルにコピーしてみました。
.,.+40!temp.
しかし、私は書いた
.,.+40!.
したがって、ファイルから重要なすべての項目が削除されます(40行を除く)。もともと持っていたファイル(約30ページ)を検索する方法はありますか?それとも最初から始めるべきですか?
答え1
使用したコマンドがよくわかりません。まだ終了していない場合は、変更をキャンセルする必要がありますvi
。U
それ以外の場合は、予想値の降順でソートします。
場合によっては、ファイルの以前のバージョンは次の名前で保存されます
filename.ext~
(自分のケースではない可能性があり、公開していないが試してみる価値があります)。ファイルと置き換えられた以前のバージョンは、以下を使用して回復できます。拡張を削除、ファイルシステムで許可されている場合(ext3またはext4)。スワップのみが回復可能な場合は、大量の
strings
テキストを抽出するために使用できます。それでも再組み立てが必要ですが、最初から書き直すのとは異なります。そうでない場合は、いくつかのキーワードやフレーズを覚えておくと、ほとんどのテキストを回復できます。これはやや長い作業になる可能性があります。ローカルディスクの空き領域を上書きする危険性を避けるために、パーティション全体を経由してフィルタリングして
strings
出力dd
を別のシステムに送信できます(他の空きパーティションがある場合は必ずそれを使用してください)。ssh
同様に、システムが再起動されておらず、rootアクセス権があり、/proc/kcore疑似ファイルのサイズが適切である場合は、ここから生のテキストを抽出してファイル
strings
にダンプするために使用できます。その後、grep
その人はあなたの友人になります。可能、他の方法メソッドを使用してメモリにアクセスできます。
答え2
まだ何も保存していない場合は、UNDOキー「U」を押してください。
スワップファイルを確認することもできます。yourfilename.swp
orと同じディレクトリにorという名前を付ける必要があります。必ず名前が続く大文字と小文字を使用してください。.yourfilename.swp
/var/tmp
ls -la
.
。
コピーを作成して開き、内容を見てください。
答え3
セッションがvi
まだ開いている場合、このコマンドは:e!
ファイルを最後に保存されたバージョンに即座に戻します。
U
(元に戻す)は変更を保存しても機能しますが、目的のバージョンに達するまですべての操作を元に戻す必要があります(元に戻す操作に制限があるかどうか、今は覚えていません...またはどのくらいか)