Estoy intentando limpiar un directorio que contiene una gran cantidad de datos (más de 1 TB), con muchos de los archivos vinculados para ahorrar espacio. En cierto contexto, esta es la unidad donde guardamos nuestras compilaciones, y tenemos muchos medios (varios GB) de medios en cada compilación, por lo que vinculamos un archivo si es idéntico a un producto de compilación anterior. He notado que intentar eliminar estos directorios es extraordinariamente lento (~5 elementos por segundo).
Supongo que la eliminación está tardando mucho debido a la gran cantidad de enlaces físicos a cada archivo. ¿Hay algo que pueda hacer para acelerar este proceso o estoy atascado eliminando varios millones de elementos a 5/seg?
Respuesta1
find . -inum [inode-number] -exec rm -i {} \;
Este comando encontrará el número de inodo que luego podrá eliminar, lo que liberará los datos a los que se hace referencia.
Te he dado la bandera interactiva para que puedas probarla.
Oh, para obtener el número de inodo, puede hacer ls -il
lo que devolverá el nombre y el número de inodo juntos.
Si pudiera eliminar el archivo mediante inodo directamente, sería una mejora, pero no conozco la manera de hacerlo.