GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo eliminar archivos anteriores a los días especificados en Linux

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!


Linux
  1. Cómo encontrar archivos más grandes o más pequeños que el tamaño X en Linux

  2. Cómo encontrar archivos duplicados en Linux

  3. ¿Cómo eliminar todos los archivos anteriores a X número de días en Linux?

  4. ¿Cómo crear un trabajo cron que elimine automáticamente los archivos que tienen más de 30 días?

  5. ¿Cómo encontrar archivos modificados en los últimos 30 días en Linux?

Cómo encontrar archivos en Linux

Cómo contar archivos en el directorio en Linux

Cómo encontrar y eliminar archivos duplicados en Linux

Cómo eliminar archivos anteriores a los días especificados en Linux

Cómo crear archivos tar para archivos de más de 7 días usando secuencias de comandos de shell de Linux

Script Bash para eliminar archivos de más de x días con subdirectorios