Se você deseja remover vários subdiretórios dentro de outro diretório usando a linha de comando no Linux, geralmente você deve usar o rm
comando várias vezes. No entanto, existe uma maneira mais rápida de fazer isso.
Digamos que temos um diretório chamado htg com cinco subdiretórios dentro dele e queremos excluir três deles. Em uma situação normal, usaríamos o rm
comando três vezes.
No entanto, podemos tornar esse processo ainda mais curto combinando os três rm
comandos em um. Veja como.
Para remover os três subdiretórios, você só precisa digitar o seguinte comando no prompt e pressionar Enter (obviamente, altere os nomes dos diretórios para os que deseja remover).
rm -r ~ / Documentos / htg / {feito, ideias, notas}
As palavras entre colchetes fazem parte da “lista de expansão de chaves”. Cada um dos itens na lista de expansão da chave é anexado separadamente ao caminho anterior (~ / Documentos / htg /). Por exemplo, o comando acima é expandido para ~ / Documents / htg / done, ~ / Documents / htg / ideas e ~ / Documents / htg / notes, os três subdiretórios do diretório htg que desejamos remover. Como você pode ver na imagem abaixo, esses três subdiretórios foram removidos.
O -r
sinalizador é necessário ao usar o comando rm para remover um diretório em vez de um arquivo. Se você deixar o -r
sinalizador fora do comando acima, receberá um erro dizendo que os diretórios não podem ser removidos.
Se todos os subdiretórios que deseja remover estiverem vazios, você pode usar o rmdir
comando, conforme mostrado abaixo.
rmdir ~ / Documents / htg / {done, ideas, notes}
Se algum dos subdiretórios não estiver vazio, será exibido um erro informando que a remoção falhou e o subdiretório em questão e seus subdiretórios não foram removidos. No entanto, todos os subdiretórios vazios são removidos.
Tenha muito cuidado com o rm
comando. Usá-lo da maneira errada pode excluir todos os arquivos do disco rígido.
Você também pode criar um diretório contendo vários subdiretórios, ou uma árvore de diretório, usando um comando .