Com trobar fitxers modificats recentment o actuals a Linux


En aquest article, explicarem dos consells senzills de línia d'ordres que us permeten enumerar només tots els fitxers actuals.

Un dels problemes habituals amb què es troben els usuaris de Linux a la línia d'ordres és localitzar fitxers amb un nom determinat, pot ser molt més fàcil quan en coneixeu el nom del fitxer.

Tanmateix, suposant que heu oblidat el nom d'un fitxer que heu creat (a la vostra carpeta home que conté centenars de fitxers) a una hora anterior durant el dia i, tanmateix, heu de fer servir urgentment.

A continuació es mostren diferents maneres d'enumerar només tots els fitxers que heu creat o modificat (directament o indirectament) avui.

1. Amb l'ordre ls, només podeu llistar els fitxers d'avui a la vostra carpeta d'inici de la manera següent, on:

  1. -a: llista tots els fitxers, inclosos els fitxers ocults
  2. -l: activa el format de llista llarga
  3. --time-style=FORMAT: mostra l'hora en el FORMAT especificat
  4. +%D: mostra/utilitza la data en format %m/%d/%y

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

A més, podeu ordenar la llista resultant alfabèticament incloent la marca -X:

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

També podeu llistar segons la mida (el més gran primer) utilitzant la marca -S:

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

2. De nou, és possible utilitzar l'ordre find que és pràcticament més flexible i ofereix moltes opcions que ls, amb el mateix propòsit que a continuació.

    El nivell
  1. -maxdepth s'utilitza per especificar el nivell (en termes de subdirectoris) per sota del punt de partida (directori actual en aquest cas) al qual es durà a terme l'operació de cerca.
  2. -newerXY, això funciona si la marca de temps X del fitxer en qüestió és més nova que la marca de temps Y de la referència del fitxer. X i Y representen qualsevol de les lletres següents:
    1. a – hora d'accés de la referència del fitxer
    2. B: hora de naixement de la referència del fitxer
    3. c: hora de referència del canvi d'estat de l'inode
    4. m – temps de modificació de la referència del fitxer
    5. t: la referència s'interpreta directament com un temps

    Això vol dir que només es tindran en compte els fitxers modificats el 2016-12-06:

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

    Important: Utilitzeu el format de data correcte com a referència a l'ordre find anterior, un cop utilitzeu un format incorrecte, obtindreu un error com el següent:

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

    Alternativament, utilitzeu els formats correctes següents:

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

    Podeu obtenir més informació d'ús de les ordres ls i find a la nostra següent sèrie d'articles sobre les mateixes.

    1. Domineu l'ordre ls de Linux amb aquests 15 exemples
    2. 7 trucs peculiars ls útils per a usuaris de Linux
    3. L'ordre find de Linux principal amb aquests 35 exemples
    4. Formes de trobar diversos noms de fitxer amb extensions a Linux

    En aquest article, vam explicar dos consells importants sobre com llistar només els fitxers actuals amb l'ajuda de ls i cercar ordres. Fes servir el formulari de comentaris següent per enviar-nos qualsevol pregunta o comentari sobre el tema. També podeu informar-nos de qualsevol ordre utilitzada per al mateix objectiu.