Bestandsinhoud in Linux is data die is opgeslagen in een bestand en kan worden gelezen of gewijzigd met behulp van verschillende hulpprogramma's en de opdrachtregel. Vaak moet je naar bestanden zoeken aan de hand van die gegevens, hier lees je hoe je dat doet.
De inhoud van bestanden kan tekst of binair zijn, afhankelijk van het type gegevens dat wordt opgeslagen. Tekstbestanden bevatten tekens en tekenreeksen die door mensen kunnen worden gelezen. Binaire bestanden bevatten binaire gegevens zoals uitvoerbare code, afbeeldingen, video- en audiobestanden. De inhoud van bestanden kan worden weergegeven in een terminal met het commando cat of less en bewerkt worden met teksteditors zoals vi, nano of emacs.
Zoeken op inhoud in Linux is nodig om snel bestanden te vinden die een specifieke tekst, woord, zin of karakter bevatten. Het kan handig zijn voor het vinden van configuratiebestanden, logbestanden en andere bestanden in grote mappen met veel submappen. Het kan ook handig zijn bij het verkennen van een bestandssysteem op zoek naar bestanden die een bepaald virus of ongewenste code bevatten. Met krachtig en flexibel zoeken naar bestanden op inhoud, kun je snel de bestanden vinden die je nodig hebt en er gemakkelijk mee werken.
Om bestanden te zoeken op inhoud in Linux, kun je het commando grep gebruiken.
Syntaxis van het commando:
grep [options] [template] [files]
/home/user die de tekenreeks "hello" bevatten:grep -r "hello" /home/user
/etc en zijn submappen die het woord "network" bevatten:grep -R "network" /etc
/var/log die het bericht "error" bevatten:grep -R "error" /var/log
.txt extensie die de string "important" bevatten in de map /home/user:grep "important" /home/user/*.txt
"password" bevatten in de map /etc en sla het resultaat op in het bestand passwords.log:grep -R "password" /etc > passwords.log
-i: negeer hoofdlettergebruik in zoekopdrachten-n: regelnummers uitvoeren die de vereiste informatie bevatten-c: uitvoer alleen het aantal regels dat de vereiste informatie bevat-v: zoek naar regels die de opgegeven informatie niet bevattenNaast het grep commando kun je ook het find commando gebruiken om te zoeken naar bestanden met een specifieke inhoud in opgegeven mappen. Zoeken met deze opdracht is echter langzamer dan met de opdracht grep.