User Tools

Site Tools


utilizar_fechas_y_rangos_de_fechas_en_find

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revisionBoth sides next revision
utilizar_fechas_y_rangos_de_fechas_en_find [2020/12/25 22:57] – external edit 127.0.0.1utilizar_fechas_y_rangos_de_fechas_en_find [2021/08/31 11:00] (current) busindre
Line 1: Line 1:
-===== Guía rápida para buscar ficheros y directorios con find usando fechas =====+====== Guía rápida para buscar ficheros y directorios con find usando fechas ======
  
-Búsquedas por fecha en base a modificaciones de permisos o creación de archivos, último acceso y modificación. +Depende de como se interactúe con los ficheros, estos mostrarán más o menos cambios en sus timestamps. Por ejemplo, al crear un o editar un fichero en Linux usando un editor Vim, los tiempos de acceso, modificación, cambios y creación son los mismos (a diferencias de pocos milisegundos). Todo depende de qué llamadas al sistema se realicen en relación con los ficheros. 
-<code bash>### Fechas y rangos de fechas.+ 
 +  * Tiempos de acceso: mknod(2), utimes(2) y read(2) 
 +  * Tiempos de mofidicación: mknod(2), utimes(2) y write(2) 
 +  * Tiempos de cambio: chmod(2), chown(2), link(2), mknod(2), rename(2), unlink(2), utimes(2) y write(2) 
 + 
 +Si por el contrario se redirige la salida de un comando al fichero, únicamente cambiarán los campos de modificación y cambio. Si solo se cambian los permisos o renombra, cambiará el timestamp change, es decir, cambios. 
 + 
 +Es común que los tiempos de modificación y cambios sean en muchos casos iguales, eso se debe a que muchas modificaciones sobre un fichero representan a su vez cambios en los metadatos. Se explica por si solo al ver que todas las llamadas al sistema que generan cambios en "modify" afectan también a "change". Se pueden encontrar diferencias entre modificación y cambio si por ejemplo usamos touch, que soporta el cambio de fecha de modificación de un fichero sin interferir en los demás. Pero hay que tener en cuenta, que el momento de cambiar dicha fecha de modificación, la fecha de "cambio" será la del momento de dicha ejecución del comando (ya que los metadatos han cambiado). Si por ejemplo se cambian los permisos o renombra el fichero, la fecha de modificación se mantendrá ya que la llamada al sistema chmod no afecta a los tiempos de modificación. 
 + 
 +**Búsquedas por fecha en base a modificaciones de permisos o creación de archivos, último acceso y modificación.** 
 +<code bash>### Tipos de timestamps de ficheros. 
 + 
 +# a   Acceso. 
 +# B   Birth time (Creación). 
 +# c   Cambio en los metadata (permisos, renombre, etc). 
 +# m   Modificación del contenido del fichero. No debe confundirse con "change"
 + 
 +### Fechas y rangos de fechas.
  
 # Ficheros y directorios modificados el día 2017-03-11. # Ficheros y directorios modificados el día 2017-03-11.
Line 10: Line 27:
 find / -type f -newerat 2017-03-11 ! -newerat 2017-03-18 find / -type f -newerat 2017-03-11 ! -newerat 2017-03-18
  
-# Directorios creados o con permisos modificados entre 2017-03-11 y 2017-03-17.+# Directorios con el timestamp de cambio (NO modificación) accedidos entre 2017-03-11 y 2017-03-17.
 find / -type d -newerct 2017-03-11 ! -newerct 2017-03-18  find / -type d -newerct 2017-03-11 ! -newerct 2017-03-18 
  
Line 22: Line 39:
 find / -anewer /tmp/t1 ! -anewer /tmp/t2  find / -anewer /tmp/t1 ! -anewer /tmp/t2 
  
-# Fichero y directorios creados / con permisos modificados entre las fechas de esos dos ficheros. +# Fichero y directorios que han recibido cambios (change) entre las fechas de esos dos ficheros. 
-find / -newer /tmp/t1 ! -newer /tmp/t2 +find / -cnewer /tmp/t1 ! -cnewer /tmp/t2 
  
  
Line 37: Line 54:
 find -atime -15 find -atime -15
  
-# Creado / con permisos modificados hace más de 15 días.+# Creado / con metadatos modificados (permisos o nombres de fichero) hace más de 15 días.
 find -ctime +15 find -ctime +15
  
utilizar_fechas_y_rangos_de_fechas_en_find.1608933466.txt.gz · Last modified: 2020/12/25 22:57 by 127.0.0.1