이 상황에 대한 rm 명령 복구

이 상황에 대한 rm 명령 복구

내 데스크탑에는 디렉토리가 있습니다. 시험이라는 이름으로 콘솔에서 삭제하고 싶었고 rm * /exam데스크탑에서 다른 파일을 제거한 것 같습니다. 회복할 수 있는 방법이 있는지 알려주세요.

편집: 어떤 파일이 삭제되었는지조차 확신할 수 없으므로 해당 파일 이름도 모릅니다.

답변1

명령을 실행할 때 있었던 디렉터리에 따라 해당 디렉터리에 있는 파일도 삭제했을 가능성이 높습니다. 과거에 몇 가지 도구를 사용해 보았지만 운이 좋지 않을 수도 있다고 생각합니다.

데이터 유형에 따라 두 프로그램 중 하나가 도움이 될 수 있습니다.

하지만 이를 설치하면 복구하려는 데이터를 덮어쓸 수도 있습니다!

내가 너라면 다운로드할 텐데시스템 복구 디스크CD 또는 USB 썸 드라이브에 굽고 해당 파일을 사용하여 시스템을 부팅합니다. SystemRescueCd에는 파일 삭제 취소 도구가 포함되어 있습니다. 한번 시도해 보겠습니다.

인용하다

답변2

대부분의 명령줄 명령은 공백으로 구분된 파일 또는 폴더 목록을 입력으로 사용합니다. *모든 것을 의미하므로 실행은 rm * /exam현재 폴더의 모든 것을 삭제한 다음 삭제한다는 의미입니다 /exam. 즉, 바탕 화면의 모든 파일(폴더 아님)을 삭제했습니다. 당신이 할 수 있는 유일한 일은 다음 도구를 사용하여 복구를 시도하는 것입니다@slm이 제안했습니다.

또한 실행하려는 명령을 이미 실행한 경우에도 rm /exam작동하지 않는다는 점에 유의해야 합니다. 기본적으로 rm디렉터리는 삭제되지 않고 파일만 삭제됩니다. 이를 사용하여 디렉터리를 삭제하려면 재귀( -r) 플래그가 필요합니다. 따라서 디렉토리를 삭제 /exam하려면 rm -r /exam.

앞으로 그러한 실수로부터 자신을 보호하는 한 가지 방법은 다음과 같습니다 rm.별명또는 파일 삭제를 확인하라는 메시지 rm -irm -I표시됩니다. rm매뉴얼 페이지 에서 :

   -i     prompt before every removal

   -I     prompt  once  before removing more than three files, or
          when removing recursively.   Less  intrusive  than  -i,
          while still giving protection against most mistakes

rm별칭을 만들려면 파일 rm -i에 다음 줄을 추가하세요 ~/.bashrc.

alias rm='rm -i'

답변3

일부 설정은 삭제된 파일을 숨깁니다. 이것이 귀하의 경우인지 확인하십시오(의심스럽습니다). 그렇지 않다면 그것을 적어서 Unix가 무엇을 하는지 배우십시오.정확히언급했듯이, 그것은 당신을 추측하려고 시도하지 않습니다. 한 번.

관련 정보