私のUbuntuシステムでは、誤ってすべてのjpgファイルを単一のファイルに移動するコマンドを実行しました。
src_dir=$1
echo "src_dir: $src_dir"
for f in $src_dir/*; do
if [ -f $f ]; then
new_dir=$(date -r $f +"%b_%Y")
if [ ! -d $new_dir ]; then
mkdir $new_dir
fi
echo "File: $f "
mv $f $src_dir/$new_dir
fi
done
recoverJpeg
jpgファイルを使用して復元しようとしていますscalpel
。このツールは、私がずっと前に削除した画像を復元することができました。ただし、mvコマンドを使用して移動した画像は復元されません。
長い道のりがあることはわかりますが、画像を復元する方法はありますか?
答え1
recoverJpeg
見つからない場合は拒否scalpel
します。
しかし、昔はこれらのファイルが同時に存在していたため、そのデータはディスク上の異なる場所を占めていました。同じマウントポイント内でファイルを移動することは、ソースフォルダから古いinodeを削除し、ターゲットフォルダに新しいinodeを作成して、データが保存されているのと同じディスクセクタを指す以上のものでなければなりません。これは、同じマウントポイント内で大容量ファイルを移動することがほぼ瞬時に行われ、新しいデータが記録されずに再利用される理由です。したがって、理論的には、mv
ファイルを削除してもデータは削除されない可能性があります。しかし、mv
既存のファイルに新しいファイルを追加する場合(つまり、最初のファイルのinodeを削除して新しいファイルを作成する場合)同じ名前ただし、ディスクの他の部分を指している場合)、最初のファイルのデータを含むセクタは使用可能としてマークされ、上書きできます。 (ファイルシステムによっては、これらすべてが完全に正確ではないかもしれませんが、私の経験では一般的にそうです)。
したがって、このような状況が発生した場合は、フォレンジックツールを使用する前にファイルシステムを読み取り専用でマウントすることが重要です。何も見つからない場合は、データが実際に消えた可能性があります。十分なスペースがあれば、dd
ファイルシステムのイメージを作成することも役に立ちます。これは、将来のフォレンジック作業のために何かを「結晶化」するからです。
関連して my に次の 3 行を追加すると、.profile
複数回のコストが節約されます。
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'