Steeds opnieuw kom ik weer handige Linux commando’s tegen. Dit keer een paar handige commando’s voor het beheren van bestanden. De “standaard commando’s” sla ik over…
Grote hoeveelheden bestanden wissen
Onderstaand ommand werkt om een bestandje te wissen, maar niet om vele duizenden bestanden te wissen
sudo rm /tmp/test/*.txt
Dit geeft deze foutmelding “sudo: unable to execute /bin/rm: Argument list too long”
Om het wissen van zoveel bestanden mogelijk te maken is een truc nodig, het volgende commando werkt wel, hiermee worden de eerste 2000 .txt bestanden verwijderd uit de map “/tmp/test/ (het kan dus zijn dat je dit commando een aantal keren moet uitvoeren om een hele map leeg te gooien):
j=1; for i in /tmp/test/*.txt; do sudo rm $i; let 'j++'; if [ $j -gt 2000 ]; then break; fi; done;
een filter op bestandsnaam toepassen werkt ook, wis alle tekstbestanden die beginnen met “201710” wordt bijvoorbeeld:
j=1; for i in /tmp/test/201710*.txt; do sudo rm $i; let ‘j++’; if [ $j -gt 2000 ]; then break; fi; done;
Hoeveel bestanden staan er in een map?
/bin/ls -1U | wc -l
geeft als resultaat het aantal bestanden in een map