Sådan finder du nylige eller i dag ændrede filer i Linux


I denne artikel forklarer vi to enkle kommandolinjetip, der giver dig mulighed for kun at liste alle nutidens filer.

Et af de almindelige problemer, som Linux-brugere støder på på kommandolinjen, er at finde filer med et bestemt navn, det kan være meget lettere, når du faktisk kender filnavnet.

Hvis vi dog antager, at du har glemt navnet på en fil, du oprettede (i mappen hjem , der indeholder hundredvis af filer) på et tidligere tidspunkt i løbet af dagen, og alligevel skal du bruge det med det samme.

Nedenfor er forskellige måder at kun liste alle filer, som du oprettede eller ændrede (direkte eller indirekte) i dag.

1. Ved hjælp af kommandoen ls kan du kun angive dagens filer i din hjemmemappe som følger, hvor:

  1. -a - liste alle filer inklusive skjulte filer
  2. -l - aktiverer langt noteringsformat
  3. --time-style = FORMAT - viser tid i det angivne FORMAT
  4. +% D - visnings-/brugsdato i% m /% d /% y-format

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

Derudover kan du sortere den resulterende liste alfabetisk ved at medtage -X flag:

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

Du kan også liste baseret på størrelse (største først) ved hjælp af -S flag:

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

2. Igen er det muligt at bruge findkommandoen, der er praktisk mere fleksibel og tilbyder masser af muligheder end ls, til det samme formål som nedenfor.

  1. -maxdepth -niveau bruges til at specificere det niveau (udtrykt i underkataloger) under startpunktet (det aktuelle bibliotek i dette tilfælde), som søgningen skal udføres til.
  2. -newerXY , dette fungerer, hvis tidsstempel X i den pågældende fil er nyere end tidsstempel Y i filreferencen. X og Y repræsenterer et af nedenstående bogstaver:
    1. a - adgangstid for filreferencen
    2. B - fødselstid for filreferencen
    3. c - inode-status ændrer referencetidspunkt
    4. m - ændringstid for filreferencen
    5. t - reference fortolkes direkte som en tid

    Dette betyder, at kun filer, der er ændret 06-12-2016, vil blive overvejet:

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

    Vigtigt: Brug det rigtige datoformat som reference i findkommandoen ovenfor, når du først bruger et forkert format, får du en fejl som den nedenfor:

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

    Alternativt kan du bruge de korrekte formater nedenfor:

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

    Du kan få flere brugsoplysninger til ls og find kommandoer i vores følgende artikelserie om det samme.

    1. Master Linux 'ls' -kommando med disse 15 eksempler
    2. Nyttige 7 Quirky ‘ls’ tricks til Linux-brugere
    3. Master Linux 'find' kommando med disse 35 eksempler
    4. Måder at finde flere filnavne med udvidelser i Linux

    I denne artikel forklarede vi to vigtige tip til, hvordan man kun viser en liste over nutidens filer ved hjælp af ls og finder kommandoer. Benyt nedenstående feedbackformular til at sende os spørgsmål eller kommentarer om emnet. Du kan også informere os om alle kommandoer, der bruges til det samme mål.