Búsqueda de sitios web

Cómo encontrar archivos recientes o modificados hoy en Linux


En este artículo, explicaremos dos consejos sencillos sobre la línea de comandos que le permitirán enumerar solo todos los archivos actuales.

Uno de los problemas comunes que encuentran los usuarios de Linux en la línea de comandos es localizar archivos con un nombre particular; puede ser mucho más fácil cuando realmente conoces el nombre del archivo.

Sin embargo, supongamos que ha olvidado el nombre de un archivo que creó (en su carpeta home, que contiene cientos de archivos) en un momento anterior del día y, sin embargo, necesita usarlo con urgencia.

A continuación se muestran diferentes formas de enumerar solo todos los archivos que creó o modificó (directa o indirectamente) hoy.

1. Con el comando ls, solo puede enumerar los archivos de hoy en su carpeta de inicio de la siguiente manera, donde:

  1. -a – enumera todos los archivos, incluidos los archivos ocultos
  2. -l – habilita el formato de listado largo
  3. --time-style=FORMAT – muestra la hora en el FORMATO especificado
  4. +%D – mostrar/usar fecha en formato %m/%d/%y
ls  -al --time-style=+%D | grep 'date +%D'

Además, puede ordenar la lista resultante alfabéticamente incluyendo el indicador -X:

ls -alX --time-style=+%D | grep 'date +%D'

También puedes enumerar según el tamaño (el más grande primero) usando la bandera -S:

ls -alS --time-style=+%D | grep 'date +%D'

2. Nuevamente, es posible utilizar el comando buscar, que es prácticamente más flexible y ofrece muchas opciones que ls, para el mismo propósito que se muestra a continuación.

  1. El nivel -max Depth se utiliza para especificar el nivel (en términos de subdirectorios) debajo del punto de partida (directorio actual en este caso) en el que se llevará a cabo la operación de búsqueda.
  2. -newerXY, esto funciona si la marca de tiempo X del archivo en cuestión es más reciente que la marca de tiempo Y de la referencia del archivo. X e Y representan cualquiera de las siguientes letras:

    1. a – tiempo de acceso de la referencia del archivo
    2. B – hora de nacimiento de la referencia del archivo
    3. c – tiempo de referencia para el cambio de estado del inodo
    4. m – hora de modificación de la referencia del archivo
    5. t – la referencia se interpreta directamente como un tiempo

Esto significa que sólo se considerarán los archivos modificados el 2016-12-06:

find . -maxdepth 1 -newermt "2016-12-06"

Importante: utilice el formato de fecha correcto como referencia en el comando de búsqueda anterior; una vez que utilice un formato incorrecto, obtendrá un error como el de abajo:

find . -maxdepth 1 -newermt "12-06-2016"

find: I cannot figure out how to interpret '12-06-2016' as a date or time

Alternativamente, utilice los formatos correctos a continuación:

find . -maxdepth 1 -newermt "12/06/2016"
OR
find . -maxdepth 1 -newermt "12/06/16"

Puede obtener más información sobre el uso de los comandos ls y find en nuestra siguiente serie de artículos sobre los mismos.

  1. Domine el comando 'ls' de Linux con estos 15 ejemplos
  2. 7 trucos extravagantes y útiles de 'ls' para usuarios de Linux
  3. Domine el comando 'buscar' de Linux con estos 35 ejemplos
  4. Formas de encontrar varios nombres de archivos con extensiones en Linux

En este artículo, explicamos dos consejos importantes sobre cómo enumerar solo los archivos actuales con la ayuda de los comandos ls y find. Utilice el formulario de comentarios a continuación para enviarnos cualquier pregunta o comentario sobre el tema. También puede informarnos sobre cualquier comando utilizado para el mismo objetivo.