rm -rf *.*
는 파일 시스템을 손상 시키지만 rm -rf /
는 손상되지 않습니다. 이?
댓글
- Unix 및 Linux Stack Exchange는 6 년 이상 동안 도움이되었으며 SuperUser는 다음과 같이 동일합니다. unix.stackexchange.com/questions/19547 superuser.com/questions/312769 unix.stackexchange.com/questions/302468
답변
거기 “특별한 것은 없습니다. rm -rf *.*
는 파일 이름 와일드 카드가있는 명령입니다. 현재 디렉토리에서 이름에 점이 포함 된 모든 파일을 반복적으로 제거합니다.
rm -rf /
는 루트 디렉토리에서 rm
를 실행하려고 할 때 오류를 표시합니다.이 는 POSIX에 의해 지정됨 :
[…] 피연산자 reso lves가 루트 디렉토리에있는 경우 rm 은 표준 오류에 진단 메시지를 작성하고 이러한 피연산자에 대해 더 이상 수행하지 않습니다.
셸 및 해당 설정에서 *.*
는 상위 디렉터리의 경우 ..
와 일치 할 수 있지만 /
, 제거를 시도하는 것도 오류입니다.
둘 다 파일 시스템을 손상시키지 않으며 rm
는 제거 만 수행 (시도)합니다. 일반적인 파일 시스템 호출을 사용하는 파일. 중요한 파일이 포함 된 디렉토리에서 첫 번째 명령을 실행하면 시스템이나 사용자 파일에 미치는 영향은 상당 할 수 있습니다.
댓글
- 충분히 새로운 버전의 GNU
rm
(원래 Solaris IIRC에서 훔친 기능). 임베디드 경량rm
는 최신 POSIX와 호환되지 않습니다.