No bash, tudo que sei é que
rmdir directoryname
removerá o diretório, mas apenas se estiver vazio. Existe uma maneira de forçar a remoção de subdiretórios?
Resposta
O comando a seguir fará isso por você . No entanto, tenha cuidado.
rm -rf directoryname
Comentários
Resposta
se rm -rf directoryname
falha, tente usar rm -R -f directoryname
ou rm --recursive -f directoryname
.
Se você não estiver tendo sorte com eles, considere reinstalar o rm ou trocar shells.
Comentários
- Essas eram as opções disponíveis no meu rm página man, eu pesquisei digitando
man rm
para ver minhas opções de exclusão recursiva e as opções forçar . - Seu
rm
lista de páginas do manual-r
? O que isso faz? (Experimente em um diretório que você criou apenas para fins de teste, com apenas arquivos fictícios (e talvez subdiretórios) nele.) Qual sistema operacional você está usando? - P.S. Se
rm -r
não ' não funcionar, isso seria um problema de sistema operacional, não um problema de shell. (Estritamente falando, seria um problema com a versão derm
que você ' está usando, então você pode resolvê-lo instalando um versão diferente derm
, ou pesquisando em seu sistema para ver se você já tem uma versão diferente derm
em algum diretório diferente de/bin
.) - Ah, certo. Esqueci de mencionar que ' m no Ubuntu 14.04 Quando executei
man rm
em meu terminal, recebi um arquivo de texto com oless
visualizador de texto. Eu rolei e encontrei uma entrada recuada com um todo que tinha as opções -R e –recursive combinadas com a opção -r , significando que todos esses argumentos são idênticos. - edit: você tentou
sudo rm -r directoryName
? As regras não escritas dos comandos básicos são que-r
permitirá que um programa seja executado recursivamente em todos os arquivos do seu sistema de arquivos (começando onde você escolher!) E que -f fará as coisas à força, mesmo que ' seja perigoso . ' cd ', ' mv ', ' ls ' principalmente mantém este princípio verdadeiro.ls -r /
vai ser um duzie ecp -rf / /dev/null
vai destruir tudo em seu sistema de arquivos. < –Nunca execute esse comando!
rm -r directoryname
.rm: invalid option -- r
quando tentando excluir um diretório com rm -r < directoryname >.rm -rf directoryname
porque você não ' não deseja que seu script pause a execução, porque ele ' está aguardando a entrada do usuário. Claro, você deve ter certeza de que excluir o diretório não causaria nenhum dano.