Necesito eliminar todo el contenido de una carpeta en CentOS pero no la carpeta en sí.
Por ejemplo: tengo una carpeta llamada "MI CARPETA" que contiene las subcarpetas FOLD_1, FOLD_2, FOLD_3, FOLD_4 ... etc., y algunos archivos. Necesito eliminar todas estas carpetas y archivos, pero no la carpeta del contenedor MYFOLDER. Necesito este directorio para dirigir los resultados de un proceso anterior.
Intenté con el rm -rf
comando, pero esto también elimina la carpeta del contenedor.
shopt -s dotglob
primero.rm -R /path/to/myfolder/*
es la sintaxis correcta para evitar solicitudes excesivas para aprobar la eliminación de cada archivo y subcarpeta. Tenga en cuenta la capitalR
.Puedes usar:
Esto elimina también los archivos y carpetas ocultos. Si tiene demasiados archivos en el directorio MYFOLDER, debe ejecutar en su lugar:
fuente
meta/
directorio, por lo que quería probar la alternativa xargs, sin embargo, recibo estos mensajes de error:ls: cannot access meta/.[^.]: No such file or directory ls: cannot access meta/.??*: No such file or directory rm: missing operand
bash
shell. El shell debe admitir "Expansión de llaves" y "Expresiones regulares" para los patrones de archivo.La forma más fácil, en mi opinión, es eliminar todo el directorio, incluido él mismo, y luego volver a crear la carpeta. Hay situaciones en las que esta no es una buena solución (como secuencias de comandos desatendidas o canalizaciones más complejas), pero no especificó por qué no desea eliminar la carpeta.
Ups Lo especificaste (volví a leer tu publicación). Bueno, aún así, eliminar y recrear puede funcionar. Especialmente si encadena comandos juntos, como
O
fuente
Qué tal si
Esto también elimina los archivos ocultos (los que comienzan con un punto).
fuente
Prueba a
rm -r -f filename
trabajar con CentOS 6.xfuente
Recomiendo esta alternativa (también elimina archivos con espacios en los nombres):
fuente