Bestanden verwijderen die ouder zijn dan een bepaalde datum
Heb je ooit wat oude bestanden uit een map moeten verwijderen? Dit is vooral handig als je probeert om te voorkomen dat een logboekbestand te vol wordt met bestanden, en Linux het heel gemakkelijk maakt om de rommel op te ruimen.
We gebruiken gewoon de opdracht find om alle bestanden ouder dan een bepaalde datum te zoeken en vervolgens de opdracht -exec te gebruiken om ze te verwijderen. In plaats daarvan zou je de opdracht -delete kunnen gebruiken, maar je krijgt uiteindelijk een maximumargument als er te veel bestanden zijn.
Zoek Command Syntax
find / path / to / files * -mtime +5 -exec rm ;
Merk op dat er spaties zijn tussen rm, en;
Uitleg voor opdracht
- Het eerste argument is het pad naar de bestanden. Dit kan een pad, een map of een wildcard zijn zoals in het bovenstaande voorbeeld. Ik zou aanraden om het volledige pad te gebruiken en ervoor te zorgen dat u de opdracht uitvoert zonder de exec rm om ervoor te zorgen dat u de juiste resultaten behaalt.
- Het tweede argument, -mtime, wordt gebruikt om het aantal dagen oud aan te geven dat het bestand is. Als u +5 invoert, worden er bestanden gevonden die ouder zijn dan vijf dagen.
- Het derde argument, -exec, staat je toe om een commando zoals rm door te geven. De ; aan het einde is vereist om het commando te beëindigen.
Dit werkt vrijwel op elke nix-distributie.