Find es uno de los comandos más utilizados en sistemas Unix-like para localizar archivos dentro de su estructura de directorios. En GNU/Linux nos lo encontramos formando parte del paquete findutils.

Generalmente esas búsquedas las hace siguiendo unos criterios especificados por el usuario. En esta ocasión, vamos a hacer que nos muestre aquellos archivos que han sido modificados, en un periodo de tiempo determinado.

  • Si queremos saber los archivos y directorios que se han modificado desde el último día podemos ejecutar:
find -mtime -1
  • Desde hace una semana:
find -mtime -7
  • Podemos buscar algo más cercano, en este caso por minutos (los últimos 120? en el ejemplo):
find -mmin -120
  • O todo lo contrario…vamos a buscar lo que se cambió hace más de 30 días:
find -mtime +30 -daystart
  • Para no volvernos locos, vamos a concretar algo más. Entre 30 y 40 días:
find -mtime +30 -mtime -40 -daystart
  • La búsqueda se puede dirigir hacia un directorio en concreto. Por defecto de forma recursiva:
find /home/replicante/Documentos -mtime -2
  • O bien estableciendo un nivel de profundidad determinado con -maxdepth:
find -maxdepth 1 /home/replicante/Documentos -mtime -2
  • También podemos pasar la salida a un archivo de texto para estudiarla con mayor comodidad:
find -mtime -1 > archivo.txt
  • Y especificar que tan solo se muestren los archivos en los resultados (nada de directorios o enlaces simbólicos). Para ello añadimos la expresión -type f, en cualquiera de los comandos mencionados anteriormente. Sería algo así:
find -type f -mtime -1
  • Un vistazo al extenso manual de find:
man find

nos va a descubrir múltiples opciones y parámetros, que podemos combinar con estas búsquedas de tipo temporal.

  • Así vemos que podemos añadirle un filtrado por nombre (-name) con expresiones regulares. En este último ejemplo buscamos los archivos de tipo MID que han sido modificados en los últimos 7 días.
find -mtime -7 -name "*.MID"
  • O bien jugar con el tamaño (-size):
find -mtime -7 -size +25M

Similar a -mtime existen otras funciones, que determinan la última vez que se abrió un archivo (atime) o bien fue creado (ctime). Supongo que tendremos ocasión de echarles un vistazo en cualquier otro momento.

 

Fuente: lamiradadelreplicante

¿Quién está en línea?

Hay 6018 invitados y ningún miembro en línea