Como remover vários subdiretórios com um comando do Linux
Se você quiser remover vários subdiretórios dentro de outro diretório usando a linha de comando no Linux, geralmente você tem que 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 e queremos excluir três deles. Em uma situação normal, nós usamos o rm
comando três vezes.
No entanto, podemos tornar este 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 o que você deseja remover).
rm -r ~ / Documents / htg / feito, idéias, notas
As palavras entre parênteses 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 (~ / Documents / htg /). Por exemplo, o comando acima é expandido em ~ / Documents / htg / done, ~ / Documents / htg / ideas, e ~ / Documents / htg / notes, os três subdiretórios sob o diretório htg que queremos remover. Como você pode ver na imagem abaixo, esses três subdiretórios foram removidos.
o -r
flag é necessário ao usar o comando rm para remover um diretório em vez de um arquivo. Se você deixar o -r
sinalizar o comando acima, você receberá um erro dizendo que os diretórios não podem ser removidos.
Se todos os subdiretórios que você deseja remover estiverem vazios, você poderá usar o rmdir
comando, como 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 no seu disco rígido.
Você também pode criar um diretório contendo vários subdiretórios ou uma árvore de diretórios, usando um comando.