그래서 저는 기본적으로 호기심 때문에 파일 확장자가 .h인 모든 파일을 인쇄하려고 했고, 그래서 어떻게 하는지 구글링을 해봤습니다. 안타깝게도 답변에 충분히 주의를 기울이지 않고 그냥 복사해서 붙여넣고 파일을 "*.h"로 변경했습니다. 그래서 무슨 일이 일어나고 있는지 깨닫기 전에 약 5초 동안 실행했다고 가정해 보겠습니다. 중요하거나 복구할 수 없는 항목이 삭제되었을 가능성이 있습니까?
내가 복사한 원본 텍스트:
find . -name "*-e" -exec rm '{}' \;
내 수정된 버전:
find . -name "*.h" -exec rm '{}' \;
또한 / 디렉토리에서도 실행합니다.
답변1
루트 디렉터리에서 이 명령을 실행하면 (처음에는) 전체 파일 시스템에서 가지고 있는 모든 헤더 파일이 제거됩니다. 어리석게도 루트로 이 작업을 수행하면 소유한 파일뿐만 아니라 모든 사용자에 대해 시스템 전체에 걸쳐 이 작업을 수행하게 됩니다.
이로 인해 시스템 자체가 본질적으로 손상되지는 않지만 이러한 헤더 라이브러리에 의존하는 모든 것을 컴파일할 수 없게 됩니다. 백업에서 이러한 파일을 복원하는 것이 좋습니다. 실제로 이 시나리오에 대비해야 합니다. 또는 이러한 파일을 사용할 수 없는 경우 패키지 관리자가 설치된 패키지를 나열하고 해당 목록에서 패키지(소스 코드 포함)를 검색하도록 할 수 있습니다. 패키지 관리자가 패키지를 다시 설치합니다.