A menudo se dan situaciones en las que es necesario ver los archivos nuevos creados recientemente en el sistema operativo. Esto suele ser necesario para un administrador del sistema que creó un archivo de configuración y luego simplemente olvidó dónde se guardó. También, la necesidad de buscar archivos nuevos puede surgir porque necesitas ver si un archivo ha cambiado recientemente o no. En general, las situaciones pueden ser muy diferentes. La ventaja del sistema operativo Linux es que tradicionalmente proporciona varias formas de resolver un problema concreto.
La forma más fácil y común de encontrar archivos nuevos en Linux es la utilidad Buscar
. Dependiendo de sus necesidades actuales se le pasan diferentes parámetros, por ejemplo puede buscar archivos sólo dentro de un cierto rango de meses o días naturales, vea más abajo los detalles de cómo se puede hacer esto.
Los ficheros se muestran en directorios y subdirectorios y ordenados:
$ find /etc -type f -printf '%TY-%Tm-%Td %TT %p ' | sort –r
Pero como puede ver, el resultado es bastante impresionante, no es posible reconocer nuevos ficheros de toda la lista. Por lo tanto, necesitamos utilizar otro comando:
$ find /etc -type f -mmin -120
Así especificamos que sólo se busquen en el sistema los ficheros creados en la última hora.
Si es necesario abarcar los dos últimos días, introduzca el siguiente comando:
$ find /etc -type f -mtime -2
A veces no es necesario profundizar en los subdirectorios de tercer nivel, por lo que para excluir esta acción necesitamos utilizar la opción especial maxdepth
:
$ find /etc -maxdepth 3 -mtime -2 -type f
Podemos ver todos los archivos nuevos creados en el sistema Linux en los últimos siete días, pero con la salvedad de que los últimos tres días no deben tenerse en cuenta:
$ find /etc -type f -mtime -7 ! -mtime -3
Estos comandos muestran la ruta al fichero, pero para ver los atributos tenemos que usar la opción especial --exec
. A continuación, mostraremos los atributos de cada nuevo archivo utilizando la utilidad ls
:
$ find /etc -type f -mmin -120 -exec ls -al {} ;
Si encuentras este comando demasiado confuso y complicado, puedes usar otro:
$ find /etc -type f -mmin -120 | xargs ls -l
Aquí ya usamos otra utilidad, xargs
. La utilidad find también te permite encontrar archivos más nuevos que un archivo en particular. Por ejemplo, vamos a crear un archivo de referencia:
$ touch /tmp/test
Ahora encuentra todos los archivos más nuevos en el directorio raíz que se crearon después de él:
$ find / -type f -newer /tmp/test
Pasemos a otro método.
Este método de búsqueda de archivos nuevos es mucho más sencillo que el anterior, por lo que puede recomendarse a los principiantes de Linux. El comando ls
también puede ordenar los ficheros de un directorio por fecha de creación. Para ello, basta con ejecutar ls:
$ ls -ltr
Puede haber demasiados archivos, por lo que es conveniente ejecutar también este comando:
$ ls -ltr | tail
Estas no son todas las formas de encontrar archivos nuevos, pero son suficientes para hacer el trabajo rápida y eficientemente. Como puedes ver, los comandos básicos de búsqueda find y ls pueden hacerse aún más flexibles cuando se combinan con sort, tail
y grep
.