Como alguém exclui um diretório preenchido com arquivos e outro subdiretório permanentemente, ignorando a lixeira, a partir da linha de comando no OS X?

5

Portanto, minhas habilidades de linha de comando estão um pouco enferrujadas e estou tendo dificuldade em lembrar as diferenças entre os significados das bandeiras em diferentes sistemas operacionais da distribuição. Eu também não me lembro de todo o meu jargão técnico, então as manpages 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 eu estou principalmente preocupado, suponho, é que ele irá deletar literalmente TODAS as referências dentro do diretório, incluindo ../ e ../ <everything else, including ../'s own ../> e, em seguida, apenas estragar todo o meu sistema.

Qual dessas eu quero executar?

$ rm -R dir-name/

ou

$ rm -r
    
por Jon 25.02.2011 / 09:56

3 respostas

8

Se você quiser excluir foo/bar , o comando desejado é rm -r foo/bar (supondo que você esteja trabalhando no diretório que contém foo ). Isso excluirá bar e tudo nele, mas deixará foo e qualquer outra coisa somente nela.

rm -r é inteligente o bastante para não recorrer a ../ - caso contrário, cada rm -r excluiria tudo.

    
por 25.02.2011 / 10:19
4

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.

    
por 25.02.2011 / 10:18
0

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

rm -rf xyz
    
por 02.12.2017 / 09:32