Bestanden zoeken of verwijderen die minder dan X minuten oud zijn op Linux

0
159

Stel dat je net een script hebt uitgevoerd dat bedoeld was om bestanden te verplaatsen of te downloaden dingen, of iets anders dat met bestanden te maken heeft, en dan realiseer je je dat je moet uitzoeken welke bestanden zojuist zijn gemaakt en waar. En misschien moet je ze verwijderen.

Eerst wil je de opdracht find gebruiken om erachter te komen welke bestanden zijn gemaakt en vervolgens het mmin-argument gebruiken om bestanden van minder dan x minuten op te geven. Als u alleen bestanden wilt specificeren, kunt u het argument -type f gebruiken om alleen op bestanden te controleren.

Dus als u de huidige map, inclusief submappen, wilt controleren op bestanden die in de laatste 5 minuten, kunt u het volgende commando gebruiken:

find ./-type f -mmin -5

Om bestanden te verwijderen kunnen we de -exec rm {} ; argument, wat een beetje verwarrend is, maar eigenlijk vertel je het exec-argument om de bestanden te verwijderen.

Dus om alle bestanden in de huidige map te verwijderen, inclusief submappen, die in de afgelopen 5 minuten zijn gemaakt , gebruik dit commando:

find ./-type f -mmin -5 -exec rm {} ; Advertentie

Als u in plaats daarvan bestanden ouder dan X dagen wilt opgeven, kunt u het argument -mtime — deze opdracht zou bijvoorbeeld bestanden verwijderen die ouder zijn dan 10 dagen:

find ./-type f -mtime +10 -exec rm {} ;

Veel gemakkelijker dan naar de man-pagina te kijken.