2011-03-09 18 views

Respuesta

9

la salida this link y luego ayudarte a ti mismo.

el código básico es

#create a temp. file 
echo "hi " > t.tmp 
# set the file time to 2 hours ago 
touch -t 200405121120 t.tmp 
# then check for files 
find /admin//dump -type f -newer t.tmp -print -exec ls -lt {} \; | pg 
+0

Gracias, sin embargo esto sólo buscar t.tmp ¿Qué ocurre si quiero encontrar todos los archivos creados en la última hora? – Ankur

+2

Ankur: creará un archivo temporal t.tmp y establecerá su hora de creación hace 2 horas ... después de eso buscará en el directorio actual todos los archivos que se crearon después de t.tmp, es decir, en las últimas 2 horas .. – ayush

+2

cool !!Aunque el primer comando no es necesario. 'touch' crea el archivo si no existe ya. – auval

19

sistemas de archivos UNIX (en general) No tiempos de creación de tiendas. En cambio, solo hay tiempo de acceso, tiempo de modificación (de datos) y tiempo de cambio (inode).

Dicho esto, find tiene -atime-mtime-ctime predicados:

 
$ man 1 find 
... 
-ctimen 
     The primary shall evaluate as true if the time of last change of 
     file status information subtracted from the initialization time, 
     divided by 86400 (with any remainder discarded), is n. 
... 

Así find -ctime 0 encuentra todo para los que ha cambiado el nodo-i (por ejemplo, incluye la creación de archivos, sino que también cuenta recuento y permisos de enlace y cambio de tamaño de archivo) menos que hace una hora.

150

Si el directorio para buscar srch_dir es entonces o bien

$ find srch_dir -cmin -60 # change time 

o

$ find srch_dir -mmin -60 # modification time 

o

$ find srch_dir -amin -60 # access time 

muestra los archivos creados, modificados o accedidos en la última hora.

corrección: ctime es para el tiempo de nodos de cambio (seguro, sin embargo, por favor, corríjanme)

+2

Esto es genial y todo, pero estos indicadores no existen en el 'find' de Solaris que estoy usando. OP dijo Unix y creo que solo son Linux. – jiggy

+7

¡El truco es usar valores de tiempo ** negativos **! No es tan obvio en la página del manual. – sphakka

+0

@jiggy [respuesta de Ayush] (http://stackoverflow.com/a/5242560/27358) da un truco (basado en '-newer') que debería funcionar en Solaris. –

3
sudo find/-Bmin 60 

Desde la página man:

-Bmin n

True si la diferencia entre el momento de la creación de un inodo de un archivo y se inició el tiempo find, se redondea al siguiente minuto completo, es n min utes.

Obviamente, es posible que desee establecer un poco diferente, pero esto primaria parece ser la mejor solución para la búsqueda de cualquier archivo creado en los últimos N minutos.

0
  • hallazgo ./ -ctime -1 -type f

O

  • encontrar ./ ​​-cmin -60 -type f
Cuestiones relacionadas