Unix comando para eliminar dos carpetas a la vez?

21

¿Cuál es el comando Unix para eliminar dos carpetas a la vez? Utilizando rm -rf?

funk-shun
fuente

Respuestas:

28

Si:

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

La '-f' no es obligatoria si puede escribir en cada archivo y directorio, o si no le importa que le hagan muchas preguntas. Los directorios se eliminan secuencialmente, pero ambos se eliminan como resultado de un solo comando.

Jonathan Leffler
fuente
1
no sé por qué no solo intenté esto ...
21

En bash, hay una manera de insertar una lista de argumentos con llaves:

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

Se puede insertar en cualquier lugar:

rm -rf /{folder1,folder2}/subfolder
will run
rm -rf /folder1/subfolder /folder2/subfolder
kenny
fuente
55
Se llama "expansión de shell" si alguien quiere buscarlo.
Sirex
así que eso es lo que se llama! Traté de buscarlo, pero ni siquiera pude formar un buen criterio de búsqueda.
kenny
La subsección que describe la expansión de material en llaves {…}es la expansión de llaves ; Es el primer paso enumerado en la sección sobre expansiones de shell en general porque ocurre primero.
Jonathan Leffler
6

Si desea que la eliminación sea concurrente, lo que puede ser más rápido si están en discos separados, pero probablemente más lento si están en el mismo:

rm -rf /path/to/folder1 &
rm -rf /other/folder/in/different/place
Thomas Padron-McCarthy
fuente
buen punto, aunque yo estaba buscando más de una forma más rápida (más perezoso) para borrar dos carpetas