Der er ofte situationer, hvor man har brug for at se nyligt oprettede, nye filer i operativsystemet. Det er ofte nødvendigt for en systemadministrator, der har oprettet en konfigurationsfil og så bare har glemt, hvor den blev gemt. Behovet for at se efter nye filer kan også opstå, fordi man har brug for at se, om en fil er blevet ændret for nylig eller ej. Generelt kan situationerne være meget forskellige. Fordelen ved Linux-operativsystemet er, at det traditionelt giver flere måder at løse et bestemt problem på.
Den nemmeste og mest almindelige måde at finde nye filer på i Linux er Find-værktøjet
. Afhængigt af dine aktuelle behov sendes forskellige parametre til det, for eksempel kan du kun søge efter filer inden for et bestemt interval af kalendermåneder eller -dage, se nedenfor for detaljer om, hvordan det kan gøres.
Filerne vises i mapper og undermapper og sorteres:
$ find /etc -type f -printf '%TY-%Tm-%Td %TT %p ' | sort –r
Men som du kan se, er resultatet ret imponerende, det er ikke muligt at genkende nye filer fra hele listen. Derfor er vi nødt til at bruge en anden kommando:
$ find /etc -type f -mmin -120
Sådan specificerer vi, at systemet kun skal søge efter filer, der er oprettet inden for den sidste time.
Hvis det er nødvendigt at dække de sidste to dage, skal du indtaste følgende kommando:
$ find /etc -type f -mtime -2
Nogle gange er der ikke behov for at dykke ned i underkataloger på tredje niveau, så for at udelukke denne handling skal vi bruge den særlige indstilling maxdepth
:
$ find /etc -maxdepth 3 -mtime -2 -type f
Vi kan se alle nye filer, der er oprettet på Linux-systemet i de sidste syv dage, men med den undtagelse, at der ikke skal tages højde for de sidste tre dage:
$ find /etc -type f -mtime -7 ! -mtime -3
Disse kommandoer udlæser stien til filen, men for at se attributterne skal vi bruge den særlige option --exec
. Dernæst vil vi udlæse attributterne for hver ny fil ved hjælp af ls-værktøjet
:
$ find /etc -type f -mmin -120 -exec ls -al {} ;
Hvis du synes, at denne kommando er for forvirrende og kompliceret, kan du bruge en anden:
$ find /etc -type f -mmin -120 | xargs ls -l
Her bruger vi allerede et andet værktøj, xargs
. Med find-værktøjet kan du også finde filer, der er nyere end en bestemt fil. Lad os f.eks. oprette en referencefil:
$ touch /tmp/test
Find nu alle nyere filer i rodmappen, som blev oprettet efter den:
$ find / -type f -newer /tmp/test
Lad os gå videre til en anden metode.
Denne metode til at søge efter nye filer er meget enklere end den foregående, så den kan anbefales til Linux-begyndere. Kommandoen ls
kan også sortere filer i en mappe efter oprettelsesdato. For at gøre dette behøver vi kun at udføre ls:
$ ls -ltr
Der kan være for mange filer, så det er klogt også at køre denne kommando:
$ ls -ltr | tail
Dette er ikke alle måder at finde nye filer på, men de er nok til at få arbejdet gjort hurtigt og effektivt. Som du kan se, kan de grundlæggende søgekommandoer find og ls gøres endnu mere fleksible, når de kombineres med sort, tail
og grep
.