誤ってファイルから削除されました

誤ってファイルから削除されました

編集中です。vi

紙の一部を一時ファイルにコピーしてみました。

.,.+40!temp.  

しかし、私は書いた

.,.+40!.  

したがって、ファイルから重要なすべての項目が削除されます(40行を除く)。もともと持っていたファイル(約30ページ)を検索する方法はありますか?それとも最初から始めるべきですか?

答え1

使用したコマンドがよくわかりません。まだ終了していない場合は、変更をキャンセルする必要がありますviU

それ以外の場合は、予想値の降順でソートします。

  • 場合によっては、ファイルの以前のバージョンは次の名前で保存されますfilename.ext~(自分のケースではない可能性があり、公開していないが試してみる価値があります)。

  • ファイルと置き換えられた以前のバージョンは、以下を使用して回復できます。拡張を削除、ファイルシステムで許可されている場合(ext3またはext4)。スワップのみが回復可能な場合は、大量のstringsテキストを抽出するために使用できます。それでも再組み立てが必要ですが、最初から書き直すのとは異なります。

  • そうでない場合は、いくつかのキーワードやフレーズを覚えておくと、ほとんどのテキストを回復できます。これはやや長い作業になる可能性があります。ローカルディスクの空き領域を上書きする危険性を避けるために、パーティション全体を経由してフィルタリングしてstrings出力ddを別のシステムに送信できます(他の空きパーティションがある場合は必ずそれを使用してください)。ssh

  • 同様に、システムが再起動されておらず、rootアクセス権があり、/proc/kcore疑似ファイルのサイズが適切である場合は、ここから生のテキストを抽出してファイルstringsにダンプするために使用できます。その後、grepその人はあなたの友人になります。可能、他の方法メソッドを使用してメモリにアクセスできます。

答え2

まだ何も保存していない場合は、UNDOキー「U」を押してください。

スワップファイルを確認することもできます。yourfilename.swp orと同じディレクトリにorという名前を付ける必要があります。必ず名前が続く大文字と小文字を使用してください。.yourfilename.swp/var/tmpls -la.

コピーを作成して開き、内容を見てください。

答え3

セッションがviまだ開いている場合、このコマンドは:e!ファイルを最後に保存されたバージョンに即座に戻します。 U(元に戻す)は変更を保存しても機能しますが、目的のバージョンに達するまですべての操作を元に戻す必要があります(元に戻す操作に制限があるかどうか、今は覚えていません...またはどのくらいか)

関連情報