it-swarm.dev

rm 명령이 실행될 때 파일은 어디로 이동합니까?

최근에 우연히 파일 세트에서 rm을했는데이 파일의 정확한 위치를 생각하게 되었습니까?

즉, GUI로 작업 할 때 삭제 된 파일은 휴지통으로 이동합니다. rm에 해당하는 것은 무엇이며 rm 명령을 실행 취소하는 방법이 있습니까?

108
boehj

어디에도 없어졌다. 보다 구체적으로 말하면 파일이 연결 해제됩니다. 데이터는 여전히 디스크에 있지만 링크는 제거됩니다. 예전에는 데이터를 검색 할 수 있었지만 현재는 메타 데이터가 지워지고 복구 할 수있는 것이 없습니다.

rm에는 휴지통이 없으며 없어야합니다. 휴지통이 필요한 경우 더 높은 수준의 인터페이스를 사용해야합니다. Ubuntu의 trash-cli에 명령 줄 유틸리티가 있지만 Nautilus 또는 Dolphin과 같은 대부분의 GUI 파일 관리자는 표준 휴지통을 제공하는 데 사용됩니다. 휴지통은 표준 자체입니다. 돌고래에서 휴지통에 버린 파일은 노틸러스 휴지통에 표시됩니다.

휴지통으로 이동하면 파일은 보통 ~/.local/share/Trash/files/와 같은 곳으로 이동합니다. UNIX/Linux의 rm 명령은 DOS/Windows의 del와 비슷하며 not 이동도 삭제합니다. 파일을 휴지통에 넣습니다. 또 다른 사실은 하드 디스크 드라이브에서 USB 디스크와 같은 파일 시스템을 통해 파일을 이동하는 것은 실제로 1) 파일 데이터의 사본에 이어 2) 원본 파일의 연결을 해제하는 것입니다. 휴지통에 이러한 추가 사본을 채우지 않으려 고합니다.

126
penguin359

Ext3/ext4의 경우 extundelete 또는 ext3grep 와 같은 도구를 사용하여 파일을 복구하거나 저수준 구조의 경우 messing수동으로 (심장의 희미하지 않음); 많은 파일 시스템의 경우 특정 패턴으로 아직 덮어 쓰지 않은 블록을 검색 할 수 있습니다 (예 : magicrescue 무엇보다도 JPEG 헤더를 검색 할 수 있음). 이들은 휴리스틱을 사용하여 남겨진 메타 데이터에서 파일을 복구하므로 전체 복구가 보장되지는 않습니다. 최종 확률이 더 높습니다 (일부 파일의 흔적이 저널에 남아 있어야하며 블록이 아직 덮어 쓰지 않았습니다).

따라서 모든 의도와 목적을 위해 rm로 제거 된 파일은 사라졌습니다. 이러한 도구가 제공하는 것과 같은 괴사를 try 할 수는 있지만 그것에 의존하지 마십시오 : 이것들은 다른 모든 것이 실패 할 때 시도하는 도구입니다. 더 나은 최신 백업을 발굴하십시오 (백업을하고 있습니다. 오, 잘 살고 배우십시오 ...).

rm 명령을 사용하여 파일을 삭제할 때마다 파일 데이터는 절대 삭제되지 않습니다. 다시 말해, 데이터를 포함하는 파일 시스템의 블록은 여전히 ​​존재합니다.

rm 명령을 실행할 때 시스템은 해당 파일에 속하는 inode를 사용되지 않은 것으로 표시하고 해당 파일의 데이터 블록도 사용되지 않은 것으로 표시합니다 (삭제되지는 않음). 그러나 ext3는 파일이 삭제 될 때 inode의 대부분의 필드를 0으로 만듭니다.

이 사용하지 않는 정상적인 표시는 속도를 위해 수행됩니다. 그렇지 않으면 삭제하는 데 시간이 더 걸립니다. 따라서 큰 파일을 삭제하는 것이 더 빠릅니다 (데이터 블록을 덮어 쓰지 않으면 데이터를 복구 할 수 있음).

추가 정보 : Inode Structure , 파일 삭제 작동 방식

6
sarath

유닉스 스타일 파일 시스템 (Linux 포함)에서 파일은 실제로 특정 위치에 있지 않습니다. 대신, 시스템은 하드 링크를 사용하여 많은 양의 데이터에 해당하는 부분을 가리 킵니다. 따라서 파일을 만들 때 파일을 "저장 한"위치에 실제로있는 첫 번째 하드 링크도 만듭니다. 더 많은 하드 링크를 만들면 시스템이 알고있는 한 파일이 실제로 여러 위치에 동시에 존재합니다.

파일을 "삭제"하면 일반적으로 실제로 지정한 위치에 있던 하드 링크 만 삭제됩니다. 파일 삭제를위한 시스템 호출을 unlink()이라고합니다. 시스템은 파일에 대한 하드 링크가 없을 때까지 실제로 파일을 삭제하지 않습니다. 그러나 마지막 하드 링크가 파괴되면 데이터도 파괴됩니다.

삭제 한 파일은 어디로 이동합니까? 여전히 하드 링크가있는 경우 파일은 삭제하지 않은 하드 링크 위치에 있습니다. 하드 링크가 남아 있지 않으면 파일이 사라집니다.

3
The Spooniest

파일이 최근에 제거 된 경우 ~/.snapshot도 확인하십시오.

0
Andy