실수로 파일을 삭제했습니다.
rm -rf ./Desktop/myScript.sh
rm
명령이 일시적으로 제거 되기 때문에 파일을 복구 할 수 있다고 생각합니다 . Mac OSX에서 삭제 된 파일을 어떻게 복구 할 수 있습니까?
실수로 파일을 삭제했습니다.
rm -rf ./Desktop/myScript.sh
rm
명령이 일시적으로 제거 되기 때문에 파일을 복구 할 수 있다고 생각합니다 . Mac OSX에서 삭제 된 파일을 어떻게 복구 할 수 있습니까?
답변:
MacOS는 유닉스 OS이며 rm
"안녕"을 의미합니다. GUI 인터페이스를 사용하면 파일을 휴지통으로 옮길 수 있지만 (복구 할 수 있음) 그렇지 않습니다. 백업이있는 경우 (예 : Time Machine이 실행중인 경우) 저장됩니다.
설명
엄밀히 말하면 (@ire_and_curses가 지적한 것처럼) a rm
는 사용 된 디스크 블록 을 그대로두고 파일의 디렉토리 항목을 삭제합니다 . 파일이 있던 파일 시스템을 중지 할 수있는 경우 해당 블록 내용을 다시 검색 할 수있는 고급 방법이 있습니다. 손실을 복구하기 위해 구입할 수있는 복구 도구도 있습니다. 가장 큰 문제는 파일이 나타내는 디스크 블록을 재사용하는 것입니다.
MacOS에는 보안 제거 명령 ( srm
)이있어 파일 unlink
을 복구 하기 전에 파일을 덮어 씁니다 . unlink
쉘 rm
명령 과 관련된 기본 시스템 호출이므로이 용어를 사용합니다 . 이것은 아래에서이 논의의 다음 부분을위한 단계를 설정합니다.
사이드 노트
[디스크를 여러 번 덮어 써도 이전에 수십 번 이상 쓴 내용을 읽는 방법이 있다는 점을 덧붙여 야합니다. 폐기를 위해 디스크를 올바르게 소독하려면 실제로 산욕, 큰 망치 및 분쇄기가 필요합니다. ]
unlink
파일을 보내면 파일의 inode 링크 수가 줄어 듭니다. 이 값이 0에 도달하면 파일은 파일 시스템 디렉토리에서 삭제되고 디스크 블록은 재사용 할 수 있도록 해제됩니다. 프로세스가 파일을 열지 않은 경우에만 발생 합니다. 파일 시스템이 디스크 블록의 간단한 합산으로 설명 할 수없는 매우 많은 양의 공간을 사용하고 있다는 것을 관리자에게 혼동하는 경우가 종종 있습니다 du
. 대부분의 이유는 열린 파일이 제거되어 더 이상 디렉토리에 표시되지 않기 때문입니다. 그 이유는 파일을 사용하는 마지막 프로세스가 종료 될 때까지 디스크 블록이 계속 사용되지 않기 때문입니다.
파일을 열고 즉시 파일을 여는 unlink
것은 실제로 안전한 임시 파일을 만드는 일반적인 방법입니다. lsof
링크 개수 (NLINK)가 0 인 파일을 찾는 경우 와 같은 도구 는 이러한 보이지 않는 파일을 노출 할 수 있습니다.
유닉스와 리눅스 (MacOS가 브랜드 유닉스 인)에서, rm
할 수 있다면 fanfare없이 "do-it"라는 유닉스 철학을 따릅니다. 즉, 파일을 제거 할 수있는 권한이 있으면 (즉, 디렉토리에서 쓰기 허용) rm
요청한 내용 만 수행합니다. rm='rm -i'
작업을 수행하기 전에 확인을 요청 하는 셸 별칭을 만들 수 있습니다 . -f
스위치를 함께 사용 rm
하면 필요한 경우 무시됩니다. 별칭을 제거하면 다음과 같이 제거 rm
할 때 가장 유용 glob
합니다 rm *.log
. 즉, 목록에서 파일을 건너 뛸 수 있습니다.
콘텐츠에 따라 다른 타사 소프트웨어를 사용하여이를 수행 할 수 있습니다. 예 :
그리고 더 많은.
App Store에서 '데이터 복구'를 입력하면 더 많은 앱을 찾을 수 있습니다.
보다 고급적인 방법은 OSX를 복구 모드로 부팅하거나 가능한 경우 파티션을 마운트 해제하고 수동으로 찾으십시오 (스크립트에서 특정 텍스트를 기억하는 경우).
몇 가지 예 :
diskutil list
sudo cat /dev/disk0s2 | strings | grep -C20 "my_stuff"