rm -r versus rm -d?

5

Eu vejo muitos recursos em rm -r , mas quase nada em rm -d , mesmo que a d flag seja aparentemente toda sobre a exclusão de diretórios.

Qual é a diferença entre os dois exatamente? rm -d é o mesmo que rmdir ? É "mais seguro" que rm -r ?

    
por Aruka J 29.09.2017 / 00:25

2 respostas

8

Eu tentei os dois comandos e aqui estão minhas conclusões:

  • rm -d funciona como rmdir (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).

    
por Francisco Gallego Salido 29.09.2017 / 00:42
1

Uma diferença entre rm -rd e rm -rf é que a primeira pergunta a você antes de excluir um arquivo ou diretório protegido contra gravação, enquanto a última avança e exclui arquivos protegidos contra gravação sem avisar se isso pode ser feito. Embora rm -rd e rm -rf sejam recursivos e potencialmente perigosos se direcionados para o diretório errado, o primeiro fornece um pouco mais de proteção contra fazer algo que você realmente não queria fazer.

    
por Glenn Horton-Smith 26.10.2018 / 17:09