rm으로 삭제 된 파일 / 디렉토리를 복원 할 수 있습니까?


69

rmrm -r?를 사용하여 터미널에서 삭제 된 파일 / 디렉토리를 복원 할 수 있습니까? 그래픽 인터페이스에서 파일을 삭제하면 휴지통에서 파일을 복원 할 수 있지만 rm 유틸리티를 사용하여 파일을 제거하면 파일을 어떻게 복원합니까?


삭제 된 파일을 복구하는 도구 (모든 형식)는 다음 질문을 살펴보십시오. askubuntu.com/q/3883
Lira

: 원하는 경우 우선은 "RM-쓰레기"유틸리티를 사용할 수 있습니다 미래에 파일을 복원하려면 "RM은"사용하지 마십시오 github.com/nateshmbhat/rm-trash
바트 Natesh을

답변:


63

이를 위해 trash-cli패키지와 다음 별칭을 사용합니다.~/.bashrc

alias rm=trash

그리고 trash-cli패키지는 followoing 명령으로 설치할 수 있습니다 sudo apt-get install trash-cli.

제거한 파일은 휴지통으로 이동되며 노틸러스 휴지통에서 볼 수 있습니다.

rm다음 방법 중 하나를 사용하여 항상 실제 에 액세스 할 수 있습니다 .

command rm something
'rm' something
\rm something

또한, 터미널에서 휴지통에 액세스 명령이있다 trash-list, restore-trash(나 trash-restore) trash-empty(그들의 매뉴얼 페이지를 참조하십시오) 패키지 쓰레기-CLI에서 설치가.

마지막으로, 수퍼 유저에게는 이러한 별칭을 사용하는 것이 좋습니다. 시스템 작동을 방해 할 수 있기 때문입니다.


19
해결 방법이지만 실제로 질문에 대답하지는 않습니다.
evgeny

명령 줄에서 동일한 동작을 수행하는 방법이 있는지 사용자가 알고 있다고 생각합니다. 그렇지 않은 경우 답변을 제거 할 준비가되었습니다.
enzotib

3
좋아요 나는 약간의 지식을 얻었습니다.
user3215

27

터미널에서 삭제하면 영구적으로 삭제됩니다. 복구는 매우 어렵고 때로는 불가능합니다.

파티션 유형이 ext3(를 사용하여 확인한 경우 System->Administration->Disk Utility) ext3undel을 살펴 보십시오 .

그렇지 않은 경우 ( 기본 설정으로 Ubuntu를 설치 한 경우 ) extundelete프로그램을 사용해보십시오 .

그래도 복구 할 것이라는 보장은 없습니다.


데스크톱 버전에 정말 유용합니다.
user3215

이것이 SSD 드라이브에 효과적 일지 의심 스럽지만 그렇지 않으면 기뻐합니다.
Matt

13

당신이 찾고 있습니다 : extundelete - 유틸리티를 EXT3 / ext4를 파티션에서 삭제 된 파일을 복구

이러한 패키지를 찾으려면 다음을 시도하십시오. apt-cache search undelete

유틸리티를 사용하려면 다음과 함께 설치하십시오. sudo apt-get install extundelete

설치 후 man extundelete신중하게 호출 하고 연구하십시오.


6

대안으로, 파일 형식을 구체적으로 알고 있다면 ...

sudo apt-get install foremost

이제 열면 /etc/foremost.conf주석 처리 된 긴 줄 목록이 표시됩니다. 파일 형식이 존재하면 해당 줄의 주석을 해제하십시오 (관련없는 행을 제거 할 수도 있습니다).

파일 형식이 존재하지 않으면 자신의 줄을 추가하십시오. .css 파일을 복구하고 약 40K를 알고 있다고 가정 해보십시오. 나는 이것을 추가 할 수있다 :

css     n       40000   Theme\sName:     Plugin\sFixes

두 번째 열은 대 / 소문자 구분, 세 번째 열은 크기의 상한, 네 번째 열은 파일 시작 방법 (이스케이프 문자 사용), 마지막 열은 파일 종료 방법입니다.

다음 명령을 사용하십시오 (디스크를 적절히 편집하십시오. df명령으로 확인할 수 있음 )

foremost -v -T -c /etc/foremost.conf -i /dev/sda -o output

다음에 일어날 일은 무엇보다도 output이라는 폴더를 만들고 복구 된 모든 데이터 (이 경우)를 폴더에 덤프한다는 것입니다. 여기 에서 복구 된 '파일'을 사용 diff하거나 meld비교하여 가장 최신 파일을 확인할 수 있습니다.


고마워 완벽하게 작동했습니다. 실수 로 2 개의 파일을 php사용하여 소스 파일을 제거했습니다 . 2 분도 채 안되어 완벽하게 복구되었습니다. 내가 추가 한 파일에서 :rm -fr php/php.confphp n 40000 <?php ?> ASCII
Shakiba Moshiri

5

가장 추상적 인 용어로 말하면, 그래픽 인터페이스에서 파일을 삭제할 때마다 파일은 디렉토리 인 특수 "버퍼"로 "이동"됩니다 trash. home디렉토리 에서 찾을 수 있습니다 ~/.local/share/Trash/. 이 디렉토리에서 "삭제 된"파일은 실제로 삭제됩니다. 이 실제 삭제는 rm파일에서 사용할 때 발생 합니다.

삭제 된 파일을 복구하는 것은 매우 어렵습니다. 파일 시스템의 파일은 B- 트리 등의 노드로 표시됩니다. 를 사용하여 파일을 삭제 rm하면 트리가 업데이트되고 하드 링크 수가 줄고 디렉토리 목록의 해당 항목이 제거됩니다. 파일에 하드 링크가 있다면 파일은 절대적으로 안전합니다. 당신은 할 수 있습니다 file / -samefile filename. inode 번호도 기억하면 파일을 검색 할 수 있습니다 (이 경우는 거의 없습니다).

다른 경우는 위의 가능성 중 어느 것도 사실이 아닌 경우입니다. rm파일이 있을 때마다 디렉토리의 파일 항목이 제거되어 하드 링크 수가 하나씩 줄어 듭니다. 그리고 하드 링크 수가 0으로 떨어지면 inode의 파일에 대한 포인터가 삭제되거나 삭제 된 것으로 표시됩니다. 어느 쪽이든 파일 "정지"는 하드 디스크에 있습니다. 파일은 실제로 다시 마운트 할 때만 하드 디스크에서 지워집니다. 이러한 시점의 파일 복구는 매우 어렵습니다. 파일 시스템 트리와 실제 디스크 블록 위치를 나타내는 inode를 거치는 과정이 포함됩니다. 내가 들어 봤지만 사용하지 않은 인기있는 도구가 있습니다 extundelete. 보장은 없지만 시도해 볼 가치가 있습니다.

파일을 성공적으로 복구하거나 복구하지 않으면 정기적 인 백업을 서두르십시오. 우분투에서는 매우 간단합니다.


2

죄송하지만 "rm"및 "rm -f"명령 줄에서 삭제 된 파일은 Gnome 데스크탑에있는 "휴지통"을 무시합니다.

FAT 및 NTFS와 같은 extfs "삭제 취소"도구가 있는지 물어볼 수도 있습니다. (아무것도 모르겠지만, 아무도 없다면 놀랐습니다.)


오, 괜찮아!. 나는 그것이 어떤 위치에서 회복 될 수 있다고 생각했다.
user3215

1

" rm-trash "유틸리티를 사용하여 나중에 검색 할 수 있도록 휴지통에 배치하고 "rm"명령의 모든 옵션을 지원합니다.

sudo add-apt-repository ppa:nateshmbhat/rm-trash
sudo apt-get update
sudo apt-get install rm-trash

"rm 쓰레기"는

  • rm 대신 사용
  • rm이 취할 수있는 모든 옵션을 처리
  • 이미 휴지통에있는 파일과의 파일 이름 충돌을 처리합니다.
  • 일부 권한 문제를 자동으로 처리
  • rm이 다른 스크립트에서 또는 간접적으로 호출되면 시스템 'rm'명령이 자동으로 사용됩니다
  • 에서 발생하는 것과 같은 적절한 오류 메시지를 보여줍니다 rm
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.