Qual é o objetivo do rmdir do UNIX?

3

Sou novo no UNIX (POSIX do shell do Mac OS X bourne), eu entendo que rmdir removerá apenas um diretório vazio, mas em que circunstâncias você realmente deseja usar rmdir <directory name> e não apenas rm -r <directory name> ? Existe um caso de uso inteligente que eu não estou conseguindo apreciar e que saber sobre isso tornaria minha programação um pouco melhor se eu o fizesse? Obrigado.

    
por AJP 20.09.2012 / 23:15

2 respostas

7

rmdir é mais seguro: ele se recusa a remover um diretório se contiver arquivos. E se você estiver tentando remover o diretório errado ou o diretório ainda contiver arquivos (possivelmente ocultos) necessários?

Existem também motivos históricos : no início, o programa rm não tem um -r switch, então rmdir foi necessário para remover diretórios. Naquela época, rmdir era um programa não trivial, mas hoje é apenas um wrapper para a função rmdir(const char*) C.

    
por 20.09.2012 / 23:16
3

Eu uso rmdir quando estou removendo um diretório que eu esperado esteja vazio, para que ele falhe se ainda houver arquivos nele. Usar rm -rf pode acabar com os arquivos que quero manter, se eu digitar algo errado.

    
por 20.09.2012 / 23:17

Tags