Welkom terug bij de Shell cursus. In de vorige les hebben we behandeld hoe je door je mappen structuur kunt navigeren en hoe je bestanden kunt kopiëren, verwijderen en aanmaken. In deze les gaan we wat handige dingen leren; terminal legen, bestanden (gedetailleerd) lezen en woorden zoeken in bestanden.

Legen van je terminal

Commando clear

Als eerst vind ik het wel makkelijk als er niet teveel oude commando’s in mijn terminal blijven staan.Het wordt dan zo chaotisch. Hiervoor gebruiken we het clear commando om alle oude commando’s te verwijderen

clear

Werken met mappen en bestanden (deel 2)

Commando cat

Aangezien we nu nog steeds in de test map werken wil ik nog eens kijken welke tekst ik ookal weer had gebruikt bij mijn .html bestand. Hiervoor gebruiken we het cat commando.

cat hoi.html[Hier kun je dan wat tekst invullen]

Zoals je kunt zien kun je met dit commando bestanden lezen. Maar je kunt meer doen dan alleen lezen met het cat commando. Je kunt er ook bestanden mee aanpassen.

cat > hoi.html[Hier kun je dan wat tekst invullen]

Door cat > hoi.html in te tikken krijg je de mogelijkheid om regels met tekst toe te voegen aan het bestand dat je selecteert. Om het toevoegen van tekst te beëindigen gebruik je CTRL C. Zullen we nu eens gaan kijken wat er met de inhoud van het hoi.html bestand is gebeurd?

cat hoi.html[Hier kun je dan wat tekst invullen]

Oh dat was niet de bedoeling. We hebben nu de oorspronkelijke tekst vervangen voor nieuwe tekst. Ik ga er nu wat regels aan toevoegen zonder weer de huidige tekst te vervangen.

cat >> hoi.html[Hier kun je dan wat tekst invullen]

Eens kijken of dat gewerkt heeft? Dat is mooi, ik heb nu dus extra regels met tekst toegevoegd aan het bestand. Is het echter mogelijk om via cat een nieuw bestand aan te maken en daar regels tekst aan toe te voegen?

cat > test.html[Hier kun je dan wat tekst invullen]

Zoals je kunt zien kun je op deze manier ook nieuwe bestanden aanmaken en hier tekst aan toe te voegen.

Commando head/tail

Met het head commando kunnen we de eerste 10 regels van een bestand bekijken. Voor het gemak heb ik bij mijn test.html bestand wat extra regels met tekst toegevoegd. Ik ga nu het head commando gebruiken om slechts de eerste 10 regels van test.html te zien

head test.html

We kunnen echter ook alleen de laatste 10 regels bekijken. Hiervoor gebruiken we het tail commando.

tail test.html

Als je slechts de eerste 5 regels of de laatste 5 regels van een bestand wilt zien gebruik je de optie -n5 naast het commando.

head -n5 test.htmltail -n5 test.html

Wat tevens ook erg handig is, is tail -f. Hiermee laat je de laatste 10 regels zien, maar krijg je ook meteen nieuwe regels te zien als die worden toegevoegd. Dit is bijvoorbeeld erg handig als je bepaalde logs aan het lezen bent en je wilt bijhouden wat er allemaal precies gebeurt.

tail -f test.html

Commando wc

Het commando wc staat voor word count en met dit commando kun je een aantal zaken in een bestand laten tellen.

wc test.html

Het commando heeft nu het aantal regels (21), het aantal woorden (76) en het aantal bytes van het bestand (453) geteld. Met de volgende opties kun je apart de woorden, regels en bytes opvragen via dat commando.

wc -w test.htmlwc -l test.htmlwc -c test.html

Commando grep

Met het grep commando kun je bepaalde stukken tekst uit een bestand bekijken. Als voorbeeld doe ik een grep naar het woord awesome in mijn .html bestand.

grep awesome test.html

Zoals je ziet krijg je dan twee regels uit mijn bestand te zien waar het woord awesome in zit. Was het woord echter met een hoofdletter geschreven dan had de grep het woord niet gevonden. Grep is namelijk hoofdletter gevoelig. Om die reden is het makkelijk om de optie – i bij een grep te gebruiken als je zowel awesome met een a als A wilt vinden.

grep -i awesome test.html

Je kunt echter ook bepaalde zinnen of combinatie van woorden eruit halen. Als voorbeeld ga ik zoeken welke regels ‘we het’ gebruiken.

grep -i 'we het' test.html

Je kunt ook de regels eruit pakken die een specifieke tekst juist niet bevatten.

grep -iv 'we het' test.html

Zoals je ziet kun je opties ook combineren met elkaar (i + v). In het volgende voorbeeld laat ik grep tellen hoeveel regels NIET de woorden ‘we het’ bevat.

grep -ivc 'we het' test.html

Kort samengevat

clear                      Hiermee verwijder je de eerder gebruikte commando's in                            je terminal  cat bestand                Lezen van een bestandhead bestand               Laat de eerste 10 regels van een bestand zienhead -n bestand            Laat een specifiek aantal regels zien'tail bestand               Laat de laatste 10 regels van een bestand zientail -n bestand            Laat een specifiek aantal regels zientail -f bestand            Hiermee krijg je de 10 laatste regels te zien maar deze                            wordt opgevuld op het moment dat er nieuwere regels                            beschikbaar zijn wc bestand                 Aantal regels, woorden en bytes van een bestand zienwc -w bestand              Aantal woorden van een bestand zien wc -l bestand              Aantal regels van een bestand zienwc -b bestand              Aantal bytes van een bestand zien   grep woord bestand         Hiermee kun je zien in welke regels van een bestand een                            specifiek woord zit.grep -i woord bestand      Zelfde als hierboven, alleen negeert de grep                            hoofdlettergevoeligheidgrep -v woord bestand      Laat zien welke regels het woord niet bevattengrep -c woord bestand      Telt het aantal regels dat een specifiek woord bevatgrep -vc woord bestand     Telt het aantal regels dat een specifiek woord niet bevat
00