web-dev-qa-db-ja.com

コマンド「cp」でプロジェクトの非常に重要なファイルを誤って削除しました。本当に助けが必要

非常に長い話です。本質的にこれが問題です。

かなり前から作業していたプロジェクトファイル(new.cc)がいくつかありました。 2か月前にこれらのファイル(old.cc)のバックアップを1つ作成しました。基本的に、私が行ったのは "> cp old.cc new.cc"でした。そして、私は過去2か月に行われたすべての変更を失いました。

これらのファイルを回復する方法はありますか?どんな助けも称賛されます。

3

要するに、残念なことに、まだ別の場所にコピーがない限り、ファイルの新しいバージョンを復元する方法はありません。コピーコマンドにより、新しいバージョンが古いバージョンで上書きされました。

Copyコマンドは、ソース(例ではold.cc)から宛先(例ではnew.cc)にファイルをコピーします。宛先に同じ名前のファイルが存在する場合(あなたの場合は新しいバージョン)、それらは上書きされます。デフォルトでは、コマンドcpは、 `cp -iのように-i(--interactive)オプションを指定しない限り、ファイルを上書きするかどうかを尋ねません。

間違いは、ソースと宛先を入れ替えたことです。あなたは本当にcp new.cc old.ccではなくcp old.cc new.cc( "新旧にコピー")を実行したいと思っていました。

データの回復-概説 ここ にあるように、削除された情報を回復する方法があります。実際、cpがextフォーマットのファイルシステムで機能する方法が原因で、コピー操作によってディスク上の情報が物理的に上書きされることはありません。つまり、新しいバージョンのビットとバイトがハードディスクのどこかに残っている可能性があります。ただし、自分で実行しようとすると、ランダムな名前を持つファイルにこれらのバイトを復元し、おそらく数千の再構築されたすべてのファイルを手動で検査して、ファイルがまだ使用可能かどうかを確認し、それが何を表すか。専門のデータ復旧サービスにそれを与えると、それは多くの費用がかかります。

3
vanadium