"*.h"의 재귀 rm으로 컴퓨터를 엉망으로 만들었나요?

"*.h"의 재귀 rm으로 컴퓨터를 엉망으로 만들었나요?

그래서 저는 기본적으로 호기심 때문에 파일 확장자가 .h인 모든 파일을 인쇄하려고 했고, 그래서 어떻게 하는지 구글링을 해봤습니다. 안타깝게도 답변에 충분히 주의를 기울이지 않고 그냥 복사해서 붙여넣고 파일을 "*.h"로 변경했습니다. 그래서 무슨 일이 일어나고 있는지 깨닫기 전에 약 5초 동안 실행했다고 가정해 보겠습니다. 중요하거나 복구할 수 없는 항목이 삭제되었을 가능성이 있습니까?

내가 복사한 원본 텍스트:

find . -name "*-e" -exec rm '{}' \;

내 수정된 버전:

find . -name "*.h" -exec rm '{}' \;

또한 / 디렉토리에서도 실행합니다.

답변1

루트 디렉터리에서 이 명령을 실행하면 (처음에는) 전체 파일 시스템에서 가지고 있는 모든 헤더 파일이 제거됩니다. 어리석게도 루트로 이 작업을 수행하면 소유한 파일뿐만 아니라 모든 사용자에 대해 시스템 전체에 걸쳐 이 작업을 수행하게 됩니다.

이로 인해 시스템 자체가 본질적으로 손상되지는 않지만 이러한 헤더 라이브러리에 의존하는 모든 것을 컴파일할 수 없게 됩니다. 백업에서 이러한 파일을 복원하는 것이 좋습니다. 실제로 이 시나리오에 대비해야 합니다. 또는 이러한 파일을 사용할 수 없는 경우 패키지 관리자가 설치된 패키지를 나열하고 해당 목록에서 패키지(소스 코드 포함)를 검색하도록 할 수 있습니다. 패키지 관리자가 패키지를 다시 설치합니다.

관련 정보