Como excluir permanentemente um diretório cheio de arquivos e outros subdiretórios, ignorando a lixeira, na linha de comando do OS X?

Como excluir permanentemente um diretório cheio de arquivos e outros subdiretórios, ignorando a lixeira, na linha de comando do OS X?

Portanto, minhas habilidades de linha de comando estão um pouco enferrujadas e estou tendo problemas para lembrar as diferenças entre os significados dos sinalizadores em diferentes sistemas operacionais de distro. Eu também não me lembro de toda a minha linguagem técnica, então as páginas de manual parecem muito pouco claras.

Basicamente, estou no Mac OS X e quero excluir um diretório junto com todo o seu conteúdo. O que mais me preocupa, suponho, é que ele excluirá literalmente TODAS as referências dentro do diretório, incluindo ../ e ../ <everything else, including ../'s own ../>e então estragará totalmente todo o meu sistema.

Qual destes eu quero executar?

$ rm -R dir-name/

ou

$ rm -r

Responder1

Se você deseja excluir foo/bar, o comando desejado é rm -r foo/bar(supondo que você esteja trabalhando no diretório que contém foo). Isso excluirá bartudo o que estiver contido nele, mas deixará footudo o mais contido nele.

rm -ré inteligente o suficiente para não recorrer ../- caso contrário, every rm -rexcluiria tudo.

Responder2

Se você executar:

rm -r

sem passar um argumento de diretório/arquivo, nada acontecerá.

Não há diferença entre:

rm -r xyz
rm -R xyz
rm -r xyz/

etc.

Responder3

Você também pode adicionar -f se não quiser solicitar confirmação:

rm -rf xyz

informação relacionada