Det oppstår ofte situasjoner der du har behov for å vise nylig opprettede, nye filer i operativsystemet. Dette er ofte nødvendig for en systemadministrator som har opprettet en konfigurasjonsfil og deretter glemt hvor den ble lagret. Behovet for å se etter nye filer kan også oppstå fordi du trenger å se om en fil har blitt endret nylig eller ikke. Generelt kan situasjonene være svært forskjellige. Fordelen med Linux-operativsystemet er at det tradisjonelt tilbyr flere måter å løse et bestemt problem på.
Den enkleste og vanligste måten å finne nye filer på i Linux er Find-verktøyet
. Avhengig av hvilke behov du har, kan du sende forskjellige parametere til verktøyet, for eksempel kan du søke etter filer innenfor et bestemt antall kalendermåneder eller -dager (se nedenfor for mer informasjon om hvordan dette gjøres).
Filene vises i kataloger og underkataloger og sorteres:
$ find /etc -type f -printf '%TY-%Tm-%Td %TT %p ' | sort –r
Men som du kan se, er resultatet ganske imponerende, det er ikke mulig å gjenkjenne nye filer fra hele listen. Derfor må vi bruke en annen kommando:
$ find /etc -type f -mmin -120
Slik spesifiserer vi at systemet bare skal søke etter filer som er opprettet i løpet av den siste timen.
Hvis det er nødvendig å dekke de siste to dagene, skriver du inn følgende kommando:
$ find /etc -type f -mtime -2
Noen ganger er det ikke nødvendig å dykke ned i underkataloger på tredje nivå, så for å utelukke denne handlingen må vi bruke det spesielle alternativet maxdepth
:
$ find /etc -maxdepth 3 -mtime -2 -type f
Vi kan se alle nye filer som er opprettet på Linux-systemet de siste syv dagene, men med unntak av at de siste tre dagene ikke skal tas med i betraktningen:
$ find /etc -type f -mtime -7 ! -mtime -3
Disse kommandoene viser stien til filen, men for å se attributtene må vi bruke det spesielle alternativet --exec
. Nå skal vi vise attributtene til hver nye fil ved hjelp av ls
:
$ find /etc -type f -mmin -120 -exec ls -al {} ;
Hvis du synes denne kommandoen er for uoversiktlig og komplisert, kan du bruke en annen:
$ find /etc -type f -mmin -120 | xargs ls -l
Her bruker vi allerede et annet verktøy, xargs
. Med find-verktøyet kan du også finne filer som er nyere enn en bestemt fil. La oss for eksempel opprette en referansefil:
$ touch /tmp/test
Finn nå alle nyere filer i rotkatalogen som ble opprettet etter den:
$ find / -type f -newer /tmp/test
La oss gå videre til en annen metode.
Denne metoden for å søke etter nye filer er mye enklere enn den forrige, så den kan anbefales til Linux-nybegynnere. Kommandoen ls
kan også sortere filer i en katalog etter opprettelsesdato. For å gjøre dette trenger vi bare å kjøre ls:
$ ls -ltr
Det kan være for mange filer, så det er lurt å kjøre denne kommandoen også:
$ ls -ltr | tail
Dette er ikke alle måtene å finne nye filer på, men de er nok til å få jobben gjort raskt og effektivt. Som du ser, kan de grunnleggende søkekommandoene find og ls gjøres enda mer fleksible når de kombineres med sort, tail
og grep
.