Hvordan finne nylige eller dagens modifiserte filer i Linux


I denne artikkelen vil vi forklare to enkle kommandolinjetips som lar deg bare liste alle dagens filer.

Et av de vanlige problemene Linux-brukere møter på kommandolinjen er å finne filer med et bestemt navn, det kan være mye enklere når du faktisk kjenner filnavnet.

Men forutsatt at du har glemt navnet på en fil du opprettet (i home-mappen som inneholder hundrevis av filer) på et tidligere tidspunkt i løpet av dagen, og likevel må du bruke det snarest.

Nedenfor er forskjellige måter å bare liste opp alle filene du har opprettet eller endret (direkte eller indirekte) i dag.

1. Ved å bruke ls-kommandoen kan du bare liste dagens filer i hjemmemappen din som følger, der:

  1. -a – liste alle filer inkludert skjulte filer
  2. -l – aktiverer format for lang oppføring
  3. --time-style=FORMAT – viser tid i det angitte FORMAT
  4. +%D – vis/bruk dato i %m/%d/%y format
ls  -al --time-style=+%D | grep 'date +%D'

I tillegg kan du sortere den resulterende listen alfabetisk ved å inkludere -X-flagget:

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

Du kan også liste basert på størrelse (størst først) ved å bruke -S-flagget:

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

2. Igjen er det mulig å bruke find-kommandoen som er praktisk talt mer fleksibel og tilbyr mange alternativer enn ls, til samme formål som nedenfor.

  1. -maxdepth nivå brukes til å spesifisere nivået (i form av underkataloger) under startpunktet (gjeldende katalog i dette tilfellet) som søkeoperasjonen skal utføres til.
  2. -newerXY, dette fungerer hvis tidsstempel X for den aktuelle filen er nyere enn tidsstempel Y til filreferansen. X og Y representerer en av bokstavene nedenfor:

    1. a – tilgangstid for filreferansen
    2. B – fødselstidspunktet for filreferansen
    3. c – endring av inode status referansetidspunkt
    4. m – endringstid for filreferansen
    5. t – referanse tolkes direkte som en tid

Dette betyr at kun filer endret 2016-12-06 vil bli vurdert:

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

Viktig: Bruk riktig datoformat som referanse i finn-kommandoen ovenfor, når du bruker feil format, vil du få en feilmelding 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 bruke de riktige formatene nedenfor:

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

Du kan få mer bruksinformasjon for kommandoene ls og finn i vår følgende serie med artikler om samme.

  1. Mestre Linux 'ls' kommando med disse 15 eksemplene
  2. Nyttige 7 Quirky 'ls'-triks for Linux-brukere
  3. Master Linux 'finn' kommando med disse 35 eksemplene
  4. Måter å finne flere filnavn med utvidelser i Linux

I denne artikkelen forklarte vi to viktige tips om hvordan du bare kan liste dagens filer ved hjelp av ls og finne kommandoer. Benytt tilbakemeldingsskjemaet nedenfor for å sende oss spørsmål eller kommentarer om emnet. Du kan også informere oss om kommandoer som brukes for det samme målet.