Cómo encontrar archivos recientes o modificados de hoy en Linux


En este artículo, explicaremos dos simples consejos de línea de comandos que le permiten enumerar solo todos los archivos de hoy.

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 conoce el nombre de archivo.

Sin embargo, suponiendo que haya olvidado el nombre de un archivo que creó (en su carpeta home que contiene cientos de archivos) en un momento anterior durante el día y que necesita usar de manera urgente.

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

1. Al usar el comando ls, solo puedes listar los archivos de hoy en tu carpeta de inicio de la siguiente manera, donde:

  1. -a – list all files including hidden files
  2. -l – enables long listing format
  3. --time-style=FORMAT – shows time in the specified FORMAT
  4. +%D – show/use date in %m/%d/%y format
# ls  -al --time-style=+%D | grep 'date +%D'

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

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

También puede hacer una lista según el tamaño (primero el más grande) utilizando el indicador -S :

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

2. Nuevamente, es posible usar el comando de búsqueda que es prácticamente más flexible y ofrece muchas opciones que ls , para el mismo propósito que se describe a continuación.

  1. -maxdepth level is used to specify the level (in terms of sub-directories) below the starting point (current directory in this case) to which the search operation will be carried out.
  2. -newerXY, this works if timestamp X of the file in question is newer than timestamp Y of the file reference. X and Y represent any of the letters below:
    1. a – access time of the file reference
    2. B – birth time of the file reference
    3. c – inode status change time of reference
    4. m – modification time of the file reference
    5. t – reference is interpreted directly as a time

    Esto significa que, solo se considerarán los archivos modificados en 2016-12-06 :

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

    rojo

    # find . -maxdepth 1 -newermt "12-06-2016"
    
    find: I cannot figure out how to interpret '12-06-2016' as a date or time
    

    Alternativamente, use 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 de uso para los comandos ls y find en nuestra siguiente serie de artículos sobre el mismo.

    1. Master Linux ‘ls’ Command with This 15 Examples
    2. Useful 7 Quirky ‘ls’ Tricks for Linux Users
    3. Master Linux ‘find’ Command with This 35 Examples
    4. Ways to Find Multiple Filenames with Extensions in Linux

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