xkcd 농담에서이 특정 “rm”시퀀스의 이유는 무엇입니까? 이 xkcd 코믹 스트립 의 일부는 저자가

이 xkcd 코믹 스트립 의 일부는 저자가 정렬 프로그램을 작성할 수 없으므로 모든 파일을 삭제하는 코드를 추가한다는 아이디어입니다.

system("rm -rf ./");
system("rm -rf ~/*");
system("rm -rf /");

AFAIK 모든 것을 삭제하는 정식 방법 rm /은 루트에서 시작하는 모든 것이 삭제되도록하는 것입니다. 여기에 마지막 명령과 그 이전의 두 명령 rm이 현재 디렉토리와 홈 디렉토리의 내용 을 시도합니다 .

왜 안돼 rm /?



답변

맨 위에서 시작하면 계속해야 할 무언가 rm(또는 시스템의 다른 중요한 부분)를 지우고 악이 불완전하게 남아있을 수 있습니다.

이 명령은 핵을 시작하기 전에 최소한 cwd 및 사용자의 홈 디렉토리가 없어 졌는지 확인합니다.


답변

증가하는 수준의 파괴를 보여 주려면 : 현재 디렉토리를 삭제 한 다음 $HOME마지막으로 모두 삭제하십시오.