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 rmpara ver minhas opções de exclusão recursiva e as opções forçar . - Seu
rmlista 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 -rnã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 dermque 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 dermem algum diretório diferente de/bin.) - Ah, certo. Esqueci de mencionar que ' m no Ubuntu 14.04 Quando executei
man rmem meu terminal, recebi um arquivo de texto com olessvisualizador 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-rpermitirá 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/nullvai destruir tudo em seu sistema de arquivos. < –Nunca execute esse comando!
rm -r directoryname.rm: invalid option -- rquando tentando excluir um diretório com rm -r < directoryname >.rm -rf directorynameporque 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.