Como ya sabrá, usamos el comando rm en Linux para eliminar archivos y carpetas. Los nombres de archivo que se eliminarán deben pasarse como argumentos a rm . Sin embargo, rm no ofrece otras opciones por sí mismo, como eliminar archivos según las marcas de tiempo.
Esa es la razón por la que usamos el comando de búsqueda en Linux, que se usa para buscar archivos y carpetas en función de diferentes parámetros. Es un comando complejo que se puede usar para buscar con parámetros como el nombre del archivo, el tamaño, el tipo de archivo, etc.
Hay una opción en el comando de búsqueda para buscar archivos en función de la antigüedad que tengan y hoy veremos cómo usar buscar y rm juntos para eliminar archivos anteriores al número de días especificado.
Buscar archivos con más de N días
Usamos el argumento '-atime'
del comando find para buscar archivos anteriores a N días, es decir, se accedió por última vez antes de al menos N días.
$ find <directory_path> -atime +<N> $ find . -atime +3
Hay dos archivos en el actual a los que se accedió por última vez hace al menos 4 días. Usemos el 'stat ‘comando para verificar esto:
$ stat tmp2 tmp3
Como puede ver, los archivos son 4 y 5 días de antigüedad respectivamente. Tenga en cuenta que el programa ignora cualquier fracción de la marca de tiempo al calcular la antigüedad de un archivo; por lo tanto, por ejemplo, cuando se especifican archivos de más de 4 días de antigüedad, especificamos +3
.
Eliminar archivos con más de N días
Finalmente, llamemos al comando rm con el argumento '-exec'
para eliminar estos archivos.
$ find . -atime +3 -exec rm {} \;
Por lo tanto, los dos archivos 'tmp2 ' y 'tmp3 ' fueron eliminados.
Conclusión
En este artículo, hemos visto cómo eliminar archivos que tienen más de un número específico de días en Linux. Como sabrá, en los sistemas de archivos de Linux (y Unix), la hora de creación de un archivo no se mantiene. Las tres marcas de tiempo mantenidas para un archivo son; su última hora de acceso, última hora de modificación y última hora de cambio de estado.
Aquí hemos considerado la última hora de acceso para buscar los archivos. Los usuarios también pueden optar por la hora de modificación o cambio de estado:simplemente use las opciones '-mtime'
o '-ctime'
respectivamente, en lugar de '-atime'
, y el resto de la sintaxis permanece igual.
¡Gracias por leer! ¡Háganos saber sus pensamientos en los comentarios a continuación!