Ejecuto este comando en una caja Unix:
find . name CVS -exec rm -fr {} \;
Quería eliminar cualquier archivo llamado CVS
dentro de cualquier directorio del directorio actual y eliminó todo.
Afortunadamente, todo lo que tuve que hacer para recuperarme fue volver a consultar en CVS. ¡Imagínese si lo especificara /
como directorio de inicio!
Creo que la razón es que usé name
en lugar de -name
. Simplemente lo vuelvo a ejecutar como
find . -name CVS -exec rm -fr {} \;
Y parece funcionar bien. ¿Qué sucede exactamente si name
se usa en lugar de -name
?
Respuesta1
Te faltaba el guión antes -name
, por eso estaba buscandocaminosllamado .
y , donde el punto hace referencia name
a CVS
la carpeta actual, por lo que se elimina todo.
La utilidad de búsqueda desciende recursivamente en el árbol de directorios para cada ruta enumerada.
Puede probar fácilmente usando echo
antes del comando que desea ejecutar:
encontrar . nombre CVS -exec echo rm -fr {} \;