먼저 : 이 드라이브 사용을 중지하십시오 . 읽기 전용으로 다시 마운트해도 더 이상 글을 쓰지 마십시오. 예, 사진을 삭제했습니다. 그들은 수 있습니다 복구 할 수 있지만, 더 당신은 드라이브, 당신은 아무것도를 복구해야하는 적은 기회를 계속 사용.
명령이 mv pic1.jpg pictures
, mv pic2.jpg pictures
등을 실행했습니다 . 호출 할 때마다 mv
현재 pictures
다른 그림으로 이름이 지정된 파일 을 덮어 썼습니다 .
파일을 동일한 파일 시스템 내에서 이동한다는 것은 파일을 포함하는 디렉토리에서 파일을 분리하고 새 이름으로 대상 디렉토리에 첨부하는 것을 의미합니다. 따라서이 명령으로 파일 데이터를 수정하거나 삭제하지 않았으며 사라진 이미지의 디렉토리 항목 만 있습니다.
파일 시스템의 여유 공간을 닦고 jpeg와 같은 것을 찾는 도구를 실행할 수 있습니다. 다행히도 모든 jpeg 파일은 인식 가능한 헤더로 시작합니다. 삭제 된 내용을 찾는 도구를 조각 도구 라고 합니다 . 우분투에는 recoverjpeg , 최우선 , testdisk 등 몇 가지가 있습니다. 사진이 별도의 홈 파티션이나 외장 드라이브에있는 경우, 하나 이상의 패키지를 설치하고 삭제 된 그림이있는 파티션을 가리 킵니다.
사진이 시스템 디스크에있는 경우 시스템 사용을 즉시 중지해야합니다. 다른 컴퓨터를 사용하여 라이브 CD 또는 USB를 다운로드하여 부팅하십시오. testdisk를 포함 하는 모든 라이브 CD 는 비용에 맞아야하지만 일부는 다른 것보다 사용하기 쉽습니다. 시스템 복구 CD 는 훌륭한 범용 시스템 복구 CD입니다. 우분투 구조 Remix 는 우분투 사용자에게 더 친숙 할 수 있습니다.
나중에 참조 mv -i
할 수 있도록 파일을 덮어 쓰지 않는 한 사용 습관을들이십시오 . 에 대한 별칭이 이미있을 수 mv
있지만 스크립트 나 명령에 의해 호출 mv
될 때가 아니라 명령 행에 직접 입력 할 때만 시작 mv
됩니다 find
.
$ : >pictures
$ mv -i foo.jpg pictures
mv: overwrite `pictures'?
또한 /
디렉토리 이름으로 간주되는 이름 뒤에 이름을 넣으면 디렉토리가 존재하지 않거나 해당 이름의 파일이 디렉토리가 아닌 경우 오류가 발생합니다.
$ : >pictures
$ mv foo.jpg pictures/
mv: cannot move `foo.jpg' to `pictures/': Not a directory
$ rm pictures
$ mv foo.jpg pictures/
mv: cannot move `foo.jpg' to `pictures/': Not a directory
의 함정을 피하기 위해 find
대신 bash의 재귀 디렉토리 탐색 기능을 사용할 수 있습니다. 먼저 명령을 사용하여 켜야합니다 shopt -s globstar
(이 행을에 추가 할 수 있습니다 ~/.bashrc
.
mv **/*.jpg pictures/
bash에서는 **/
디렉토리에 대한 심볼릭 링크를 순회하며이를 해제 할 수있는 방법이 없습니다. 디렉토리에 대한 심볼릭 링크를 통해 보이지 않는 재귀 순회를 원하면 zsh 또는 find를 사용하십시오.