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?

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.


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

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

buen punto, aunque yo estaba buscando más de una forma más rápida (más perezoso) para borrar dos carpetas
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.