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.