No bash tudo o que sei é que
rmdir directoryname
irá remover o diretório, mas apenas se estiver vazio. Existe uma maneira de forçar a remoção de subdiretórios?
No bash tudo o que sei é que
rmdir directoryname
irá remover o diretório, mas apenas se estiver vazio. Existe uma maneira de forçar a remoção de subdiretórios?
Respostas:
O comando a seguir fará isso por você. Tenha cuidado, porém.
rm -rf directoryname
rm: invalid option -- r
erro ao tentar excluir um diretório com rm -r <directoryname>.
rm -rf directoryname
porque você não gostaria que seu script pausasse a execução, porque está aguardando a entrada do usuário. Obviamente, você deve ter certeza de que excluir o diretório não faria mal.
Se rm -rf directoryname
falhar, tente usar rm -R -f directoryname
, ou rm --recursive -f directoryname
.
Se você não tiver sorte com isso, considere reinstalar o rm ou alternar os shells.
man rm
para ver minhas opções sobre exclusão recursiva e as opções de força .
rm
página de manual lista -r
? O que isso faz? (Experimente-o em um diretório criado apenas para fins de teste, com apenas arquivos fictícios (e talvez subdiretórios).) Qual sistema operacional você está usando?
rm -r
não funcionar, isso seria um problema do SO, não um problema de shell. (Estritamente falando, seria um problema com a versão rm
que você está usando, para que você possa resolvê-lo instalando uma versão diferente rm
ou pesquisando no sistema para ver se você já tem uma versão diferente rm
em algum diretório diferente de /bin
.)
man rm
no meu terminal, ele me deu um arquivo de texto com o less
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.
sudo rm -r directoryName
? As regras não escritas dos comandos básicos são que -r
permitirão 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 com força, mesmo que seja perigoso . 'cd', 'mv', 'ls' principalmente mantém esse princípio verdadeiro. ls -r /
será um duzie e cp -rf / /dev/null
destruirá tudo no seu sistema de arquivos. <- Nunca execute esse comando!
rm -r directoryname
.