Er zijn vaak situaties waarin je recent aangemaakte, nieuwe bestanden in het besturingssysteem moet bekijken. Dit is vaak nodig voor een systeembeheerder die een configuratiebestand heeft gemaakt en vervolgens is vergeten waar het is opgeslagen. Ook kan de behoefte om nieuwe bestanden te vinden ontstaan omdat je moet zien of een bestand onlangs is gewijzigd of niet. Over het algemeen kunnen de situaties heel verschillend zijn. Het voordeel van het Linux besturingssysteem is dat het traditioneel verschillende manieren biedt om een bepaald probleem op te lossen.
De eenvoudigste en meest gebruikte manier om nieuwe bestanden te vinden in Linux is het hulpprogramma Zoeken
. Afhankelijk van je huidige behoeften worden verschillende parameters doorgegeven, je kunt bijvoorbeeld alleen naar bestanden zoeken binnen een bepaald bereik van kalendermaanden of dagen, zie hieronder voor meer informatie over hoe dit gedaan kan worden.
Bestanden worden weergegeven in mappen en submappen en gesorteerd:
$ find /etc -type f -printf '%TY-%Tm-%Td %TT %p ' | sort –r
Maar zoals je kunt zien is het resultaat behoorlijk indrukwekkend, het is niet mogelijk om nieuwe bestanden uit de hele lijst te herkennen. Daarom moeten we een ander commando gebruiken:
$ find /etc -type f -mmin -120
Hiermee geven we aan dat er alleen gezocht moet worden naar bestanden die in het laatste uur zijn gemaakt.
Als het nodig is om de laatste twee dagen te doorzoeken, voer dan de volgende opdracht in:
$ find /etc -type f -mtime -2
Soms is het niet nodig om in de submappen van het derde niveau te duiken, dus om deze actie uit te sluiten moeten we de speciale optie maxdepth
gebruiken:
$ find /etc -maxdepth 3 -mtime -2 -type f
We kunnen alle nieuwe bestanden zien die in de laatste zeven dagen op het Linux-systeem zijn gemaakt, maar met de uitzondering dat de laatste drie dagen niet in aanmerking moeten worden genomen:
$ find /etc -type f -mtime -7 ! -mtime -3
Deze commando's geven het pad naar het bestand weer, maar om de attributen te zien moeten we de speciale optie --exec
gebruiken. Vervolgens zullen we de attributen van elk nieuw bestand uitvoeren met het hulpprogramma ls
:
$ find /etc -type f -mmin -120 -exec ls -al {} ;
Als je dit commando te verwarrend en ingewikkeld vindt, kun je een ander gebruiken:
$ find /etc -type f -mmin -120 | xargs ls -l
Hier gebruiken we al een ander hulpprogramma, xargs
. Met het hulpprogramma find kun je ook bestanden vinden die nieuwer zijn dan een bepaald bestand. Laten we bijvoorbeeld een referentiebestand maken:
$ touch /tmp/test
Zoek nu alle nieuwere bestanden in de hoofddirectory die daarna zijn gemaakt:
$ find / -type f -newer /tmp/test
Laten we naar een andere methode gaan.
Deze methode om nieuwe bestanden te zoeken is veel eenvoudiger dan de vorige, dus deze kan worden aanbevolen voor Linux-beginners. Het ls
commando kan ook bestanden in een map sorteren op aanmaakdatum. Hiervoor hoeven we alleen maar ls uit te voeren:
$ ls -ltr
Er kunnen te veel bestanden zijn, dus het is verstandig om ook dit commando uit te voeren:
$ ls -ltr | tail
Dit zijn niet alle manieren om nieuwe bestanden te vinden, maar ze zijn genoeg om de klus snel en efficiënt te klaren. Zoals je kunt zien, kunnen de basis zoekcommando's find en ls nog flexibeler worden gemaakt door ze te combineren met sort, tail
en grep
.