이동된 jpg 파일을 복구하는 방법

이동된 jpg 파일을 복구하는 방법

내 우분투 시스템에서 실수로 모든 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

recoverJpegjpg 파일을 사용하고 복원하려고 합니다 scalpel. 이 도구는 제가 오래 전에 삭제한 이미지를 복구할 수 있었습니다. 하지만 mv 명령을 사용하여 이동한 이미지는 복원하지 않습니다.

갈 길이 멀다는 건 알지만, 이미지를 복원할 수 있는 방법이 있나요?

답변1

recoverJpeg찾을 수 없으면 거절 scalpel합니다.

그러나 옛날에는 이러한 파일이 동시에 존재했기 때문에 해당 데이터가 디스크에서 서로 다른 위치를 차지했습니다. 동일한 마운트 지점 내에서 파일을 이동하는 것은 소스 폴더에서 이전 inode를 삭제하고 대상 폴더에 새 inode를 생성하여 데이터가 보관된 동일한 디스크 섹터를 가리키는 것 이상이어야 합니다. 이것이 동일한 마운트 지점 내에서 대용량 파일을 이동하는 것이 거의 즉각적으로 이루어지고 새 데이터가 기록되지 않고 재사용되는 이유입니다. 따라서 이론적으로는 mv파일을 삭제해도 데이터가 삭제되지 않을 수도 있습니다.하지만mv기존 파일에 새 파일을 추가하는 경우 (즉, 첫 번째 파일의 inode를 제거하고 새 파일을 생성하는 경우)같은 이름그러나 디스크의 다른 부분을 가리키고 있는 경우) 첫 번째 파일의 데이터가 들어 있는 섹터는 사용 가능한 것으로 표시되어 덮어쓸 수 있습니다. (파일 시스템에 따라 이 모든 것이 완전히 정확하지 않을 수도 있지만 내 경험상 일반적으로 그렇습니다).

따라서 이러한 상황이 발생하면 포렌식 도구를 사용하기 전에 파일 시스템을 읽기 전용으로 마운트하는 것이 중요합니다. 아무것도 찾을 수 없다면 데이터가 실제로 사라진 것일 수도 있습니다. 공간이 충분하다면 dd파일 시스템의 이미지를 생성하는 것도 도움이 될 수 있습니다. 이는 향후 포렌식 작업을 위해 무언가를 "결정화"하기 때문입니다.

관련하여 my에 다음 세 줄을 추가하면 .profile여러 번 비용이 절약됩니다.

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

관련 정보