rm
최근에 실수로 파일 세트를 처리했는데 이 파일이 정확히 어디에 있는지 생각하게 되었습니다.
즉, GUI를 사용할 때 삭제된 파일은 휴지통으로 이동됩니다. 무엇과 동일합니까 rm
? rm
명령을 취소할 수 있는 방법이 있나요 ?
답변1
갈 곳이 없다, 사라졌다, 사라졌다. 더 구체적으로 말하면 파일의 연결이 해제되었습니다. 데이터는 여전히 디스크에 있지만 해당 링크는 제거되었습니다. 예전에는 데이터를 검색할 수 있었지만 이제는 메타데이터가 지워져 복구할 수 없습니다.
rm
쓰레기통이 없고 있어서는 안 됩니다. 쓰레기통이 필요하다면 더 높은 수준의 인터페이스를 사용해야 합니다. Ubuntu에는 명령줄 유틸리티가 있지만 trash-cli
대부분의 경우 Nautilus 또는 Dolphin과 같은 GUI 파일 관리자를 사용하여 표준 휴지통을 제공합니다. 쓰레기통 자체는 표준입니다. Dolphin에서 삭제된 파일은 노틸러스 휴지통에 표시됩니다.
~/.local/share/Trash/files/
파일은 일반적으로 버려진 것처럼 어딘가로 이동됩니다 . UNIX/Linux의 명령은 rm
DOS/Windows의 명령과 동일하며 del
삭제 및 실행도 수행됩니다.아니요파일을 휴지통으로 이동합니다. 또 한 가지 알아야 할 점은 파일 시스템을 통해(예: 하드 드라이브에서 USB 디스크로) 파일을 이동하는 것은 실제로 1) 파일 데이터의 복사본을 만든 다음 2) 원본 파일의 연결을 해제한다는 것입니다. 이러한 추가 복사본으로 인해 휴지통이 가득 차는 것을 원하지 않습니다.
답변2
ext3/ext4의 경우 다음 도구를 사용하여 파일 복구를 시도할 수 있습니다.확장 삭제또는ext3grep, 아니면 가더라도착란낮은 수준의 구조로수동(심약한 사람은 아님) 많은 파일 시스템에서 아직 일부 패턴으로 처리되지 않은 블록을 검색해 볼 수 있습니다(예:마법의 구조JPEG 헤더 등을 검색할 수 있습니다. 이러한 방법은 남겨진 메타데이터에서 파일을 복구하기 위해 경험적 방법을 사용하므로 전체 복구가 보장되지는 않습니다. 아직 커버되지 않았습니다).
따라서 모든 의도와 목적을 위해 삭제된 파일은 rm
사라졌습니다.노력하다이러한 도구는 그러한 강령술을 제공하지만 이에 의존하지 마십시오. 다른 모든 방법이 실패하면 다음 도구를 사용해 보십시오. 최신 백업을 찾는 것이 가장 좋습니다(항상 백업을 만드시죠? 아, 진행하면서 배우세요...).
답변3
다음 효과 제거에 관해 rm
:
대부분의 파일 시스템은 데이터에 대한 참조만 제거하고 블록이 사용 가능함을 나타내므로 장치에서 직접 데이터를 읽어볼 수 있습니다. 다행스럽게도 파일이 포함된 블록은 이미 다른 항목으로 채워져 있지 않습니다.
이는 귀하가 찾고 있는 시스템에 상당히 독특한 것이 있다고 가정하며, root
여러 파일 시스템 블록(아마도 4k)에 걸쳐 있는 모든 것을 함께 연결하는 것은 파일 시스템이 파일을 넣을 수 없다면 매우 힘들 수 있다고 추측합니다. 연속된 블록에 들어갑니다.
grep
파일 시스템이 있는 장치에서 문자열을 실행하고 큰 컨텍스트가 있는 파일에서 콘텐츠 찾기( )를 사용하여 -C
여러 일반 텍스트 파일의 콘텐츠를 성공적으로 복구했습니다 . (사고 직후 회사는 백업을 구현하는 데 일부 리소스를 투자하기로 결정했습니다.)
답변4
Unix 스타일 파일 시스템(Linux 포함)에서 파일은 실제로 특정 위치에 "살아 있지" 않습니다. 대신 시스템은 하드 링크를 사용하여 대량의 데이터에 해당하는 조각을 가리킵니다. 따라서 파일을 생성할 때 첫 번째 하드 링크도 생성합니다. 이 하드 링크는 실제로 파일을 "저장"한 위치에 있습니다. 더 많은 하드 링크를 생성하면 시스템이 아는 한 파일은 실제로 동시에 여러 위치에 존재합니다.
파일을 "삭제"할 때 일반적으로 실제로는 지정된 위치에 존재하는 하드 링크만 삭제하는 것입니다. 이것이 파일 삭제를 위한 시스템 호출이 호출되는 이유입니다 unlink()
. 하드 링크가 더 이상 남아 있지 않을 때까지 시스템은 실제로 파일을 삭제하지 않습니다. 그러나 마지막 하드 링크가 파괴되면 데이터도 파괴됩니다.
그렇다면 삭제된 파일은 어디로 가나요? 하드 링크가 여전히 존재하는 경우 해당 파일은 삭제하지 않은 하드 링크와 동일한 위치에 있습니다. 하드링크가 남아있지 않으면 파일은 사라집니다.