Ubuntu에서 `rm -rf /*`를 실행하여 외장 하드 드라이브의 내용을 지울 수 있습니까?

Ubuntu에서 `rm -rf /*`를 실행하여 외장 하드 드라이브의 내용을 지울 수 있습니까?

나는 그것이 나쁜 습관이라는 것을 알고 있지만 게으름 때문에 일반적으로 rm -rf ./*현재 디렉토리의 내용을 제거하고 싶을 때 실행합니다(예: 컴파일 중인 C++ 프로젝트에 대한 내 디렉토리를 지우고 싶을 때 build). 한 번은 오타를 범했습니다. 대신 실행했습니다 rm -rf /*(...facepalm). 다행스럽게도 내 컴퓨터에서 모든 것이 완전히 지워지기 전에 이를 중지할 수 있었지만 시스템이 다시 작동하는 데 하루나 이틀이 걸릴 정도로 피해를 입혔습니다. 나는 또한 귀중한 데이터를 잃어 버렸습니다.

이로 인해 외장 하드 드라이브를 구입하고 매일 시스템의 스냅샷을 하드 드라이브에 저장해야 했습니다. 이제 질문이 있습니다. 실수로 실행한 경우 rm -rf /*(sudo 사용자가 아닌 경우) 이 내용도 삭제됩니까? 아니면 내 외장 하드 드라이브(일일 스냅샷의 목적을 상실함)입니까? 아니면 하드 드라이브를 마운트 해제하고 데이터를 보존합니까?

답변1

외장 하드 드라이브가 마운트된 상태에서 실행하는 경우 rm -rf /*실행 중인 사용자가 삭제할 수 있는 외장 하드 드라이브의 모든 파일이 실제로 삭제됩니다. 하드 드라이브가 마운트 해제되지는 않습니다.

이러한 위험을 최소화하려면 백업을 시작하기 전에 스크립트에서 외장 하드 드라이브를 마운트하고 나중에 마운트 해제하도록 할 수 있습니다. 하지만 어떤 이유로든 마운트 해제에 실패하면 외장 하드 드라이브가 백업 후에도 마운트된 상태로 유지될 위험이 여전히 있습니다. 다음에 스크립트가 실행될 때까지 백업이 완료됩니다.

더 나은 대안은 백업 중인 머신에 없거나 적어도 마운트된 파일 시스템이 아닌 일부 대상에 매일 백업을 수행하는 것입니다. 이렇게 하면 파일 시스템 작업을 통해 실수로 데이터를 삭제해도 백업이 손상되지 않습니다.

관련 정보