GNU/Linux >> Tutoriales Linux >  >> Linux

Explicando el comando 'find -mtime'

La especificación POSIX para encontrar dice:

-mtime n El principal se evaluará como verdadero si el tiempo de modificación del archivo restado del tiempo de inicialización, dividido por 86400 (con cualquier resto descartado), es n .

Curiosamente, la descripción de find no especifica más el 'tiempo de inicialización'. Sin embargo, probablemente sea el momento en que find se inicializa (ejecutar).

En las descripciones, dondequiera que n se utiliza como argumento principal, se interpretará como un entero decimal opcionalmente precedido por un signo más ('+') o menos ('-'), de la siguiente manera:

+n Más de n .
n Exactamente n .
-n Menos de n .

Puedes escribir -mtime 6 o -mtime -6 o -mtime +6 :

  • Usando 6 sin signo significa "igual a 6 días, modificado entre 'ahora - 6 * 86400' y 'ahora - 7 * 86400'" (porque se descartan los días fraccionarios).
  • Usando -6 significa "menos de 6 días de antigüedad, por lo que se modificó en o después de 'ahora - 6 * 86400'".
  • Usando +6 significa "más de 6 días de antigüedad, por lo que se modificó en o antes de 'ahora - 7 * 86400'" (donde el 7 es un poco inesperado, quizás).

En el momento dado (2014-09-01 00:53:44 -4:00, donde deduzco que AST es la hora estándar del Atlántico y, por lo tanto, la diferencia de zona horaria con respecto a UTC es -4:00 en ISO 8601 pero + 4:00 en ISO 9945 (POSIX), pero no importa tanto):

1409547224 = 2014-09-01 00:53:44 -04:00
1409457540 = 2014-08-30 23:59:00 -04:00

entonces:

1409547224 - 1409457540 = 89684
89684 / 86400 = 1

Incluso si los valores de 'segundos desde la época' son incorrectos, los valores relativos son correctos (para alguna zona horaria en algún lugar del mundo, son correctos).

El n el valor calculado para el archivo de registro 2014-08-30, por lo tanto, es exactamente 1 (el cálculo se hace con aritmética de enteros), y el +1 lo rechaza porque es estrictamente un > 1 comparación (y no >= 1 ).


+1 significa hace 2 días. Es redondeado.


Linux
  1. Búsqueda de archivos en la línea de comandos (instrucciones)

  2. Encuentre el tiempo de ejecución de un comando o proceso en Linux

  3. Una introducción al comando diff

  4. Cómo auditar permisos con el comando de búsqueda

  5. Cómo encontrar archivos en CentOS 8 en la línea de comandos

Cómo encontrar archivos en la línea de comandos de Ubuntu

Cómo encontrar archivos con el comando fd en Linux

Solucione el error que no puede encontrar el comando hwmatch en Grub

¿Encontrar la línea de comando?

15 ejemplos súper útiles del comando Buscar en Linux

El comando find Directory de Linux:Explicación