Comando Unix para excluir duas pastas ao mesmo tempo?

21

Qual é o comando do Unix para excluir duas pastas ao mesmo tempo? Usando rm -rf?

funk-shun
fonte

Respostas:

28

Sim:

rm -rf /path/to/folder1 /other/folder/in/different/place

O '-f' não é obrigatório se você pode gravar em cada arquivo e diretório ou se não se importa de fazer muitas perguntas. Os diretórios são excluídos seqüencialmente, mas ambos são excluídos como resultado de um único comando.

Jonathan Leffler
fonte
11
eu não sei por que eu não tentar isso ...
21

No bash, existe uma maneira de inserir uma lista de argumentos com chaves:

rm -rf /path/to/{folder1,folder2}
will run
rm -rf /path/to/folder1 /path/to/folder2

Pode ser inserido em qualquer lugar:

rm -rf /{folder1,folder2}/subfolder
will run
rm -rf /folder1/subfolder /folder2/subfolder
kenny
fonte
5
É chamado de "expansão de shell" se alguém quiser procurar.
Sirex 08/02
então é assim que se chama! Eu tentei procurá-lo, mas não conseguia nem formar um bom critério de pesquisa.
Kenny
A subseção que descreve a expansão do material entre chaves {…}é a expansão de chaves ; é o primeiro passo listado na seção sobre expansões de shell em geral, porque ocorre primeiro.
Jonathan Leffler
6

Se você deseja que a exclusão seja realmente simultânea, o que pode ser mais rápido se eles estiverem em discos separados, mas provavelmente mais lento se eles estiverem no mesmo:

rm -rf /path/to/folder1 &
rm -rf /other/folder/in/different/place
Thomas Padron-McCarthy
fonte
bom ponto, embora eu estava olhando mais para um mais rápido (mais preguiçosos) maneira de apagar duas pastas