Eu tentei os dois comandos e aqui estão minhas conclusões:
-
rm -d
funciona comormdir
(a menos que algo esteja acontecendo com links ou algo parecido). -
rm -r
exclui o diretório de destino e exclui recursivamente tudo nesse diretório (incluindo diretórios e arquivos não vazios de qualquer tipo)
Então a diferença é bem clara. Não há dúvida de que rm -r
é um comando muito perigoso que deve ser usado com muita cautela (Exemplo: rm -rf /
pode excluir potencialmente seu sistema ou rm -rf *
poderia excluir seu projeto atual), enquanto rm -d
só permite excluir diretórios vazios (Lembre-se que rm -rd
é um comando válido e funcionará como rm -r
, portanto tenha cuidado).