De meeste (server)software onder Linux configureer je via tekstbestanden. Een goede kennis van commando’s om de tekstbestanden te manipuleren, is dan ook essentieel voor de commandline freak. We zetten de belangrijkste commando’s op een rijtje.

 

1. Cat

In feite is cat bedoeld om meerdere tekstbestanden aan elkaar te plakken (concatenate). In de praktijk gebruik je cat meestal om snel een volledig tekstbestand op de terminal weer te geven. Met de -n-optie toont cat regelnummers. Dat is erg handig om een foutmelding te debuggen, die verwijst naar een bepaalde regel. Denk bijvoorbeeld aan een shell-script dat je net geschreven hebt en een syntaxfout bevat of aan een programma dat weigert te starten na aanpassingen in het configuratiebestand. Voor langere bestanden is cat minder handig, omdat je eerst moet terugscrollen in je terminal om het begin van het bestand te zien.

 

2. Head en tail

Ben je alleen geïnteresseerd in het begin of het einde van een tekstbestand? Dan hoef je dat niet helemaal te openen. Head en tail tonen respectievelijk de eerste of laatste tien regels van het bestand. Je kunt ook meer of minder regels opvragen door de -<regels>-optie, bijvoorbeeld head -15 file.txt. Tail wordt vaak gebruikt met de -f-optie om real time wijzigingen aan het einde van een tekstbestand weer te geven. Dat is erg handig om bijvoorbeeld nieuwe entries in een logfile op je terminal te tonen, terwijl je een programma aan het troubleshooten bent. Zoek je naar een specifieke foutmelding, combineer tail -f dan met grep, bijvoorbeeld:

tail -f /var/log/auth.log | grep failure

 

3. Less is more

Om langere tekstbestanden te bekijken, is een zogenaamde pager handiger dan cat. Een pager formatteert het tekstbestand in verschillende pagina’s, afhankelijk van de grootte van je terminal. Via sneltoetsen navigeer je door het tekstbestand. Sinds jaar en dag is more de pager van dienst in Unix, maar Linux bevat ook het uitgebreidere en gebruiksvriendelijkere less. Open je voor het eerst een tekstbestand met less, druk dan op h om de beknopte helpfunctie te bekijken. Die bevat een overzicht van alle sneltoetsen. Zo scroll je bijvoorbeeld één regel verder (met j) of terug (met k) en één venster verder of terug met Ctrl-F en Ctrl-B. Zoeken doe je met / gevolgd door je zoekopdracht en return en navigeren tussen de zoekresultaten doe je met n (voorwaarts) of N (achterwaarts). Wil je een bestand openen en meteen naar een bepaalde regel springen? Gebruik dan less +<regelnummer> file.txt

 

4. Vi of Emacs?

Linux beschikt over tientallen editors om tekstbestanden aan te passen, maar de twee bekendste zijn zonder meer vi (en diens afgeleide vim) en Emacs. Beide editors lijken op het eerste zicht erg gebruiksonvriendelijk en niet bijster intuïtief. Toch loont het om je te verdiepen in één van deze editors, want ze laten je veel efficiënter werken dan eenvoudige editors, zoals nano (zie tip 5). We laten in het midden welke van de twee editors de beste is, want daarover is al genoeg geschreven. Een voordeel van vi is wel dat het standaard geïnstalleerd is op werkelijk elk Unix- of Linux-systeem. Ook hebben veel andere programma’s de vi-sneltoetsen overgenomen, waardoor je minder sneltoetsen hoeft te onthouden. De sneltoetsen van less uit tip 3 komen bijvoorbeeld rechtstreeks uit vi!

 

5. Nano

Heb je geen tijd of zin om vi of Emacs te leren? Geen probleem: tegenwoordig bestaan er ook meer gebruiksvriendelijke teksteditors voor de terminal. Nano is bijvoorbeeld een populaire editor, die standaard aanwezig is in veel distributies. Nano gebruikt een groot aantal sneltoetsen met Ctrl of Alt, waarvan de belangrijkste steeds onderaan het scherm zichtbaar zijn. Zo is er Ctrl-X om een bestand te sluiten, Ctrl-O om te bewaren en Ctrl-W om te zoeken. Die komen dan wel niet overeen met de gangbare sneltoetsen in grafische applicaties (respectievelijk Ctrl-W, Ctrl-S en Ctrl-F), maar toch is dit voor beginners veel eenvoudiger dan vi of Emacs. De sneltoets Ctrl-G toont je een overzicht van alle sneltoetsen of (wanneer je eerst een ander sneltoets ingeeft, zoals Ctrl-W) extra informatie over die sneltoets.

 

6. Grafische editors

Verkies je ondanks bovenstaande tips nog steeds een grafische teksteditor? Die kan je uiteraard ook vanaf de commandline starten, tenzij er geen grafische omgeving beschikbaar is. Sommige grafische programma’s blokkeren wel je terminal zolang ze draaien. Wil je de terminal meteen vrijgeven om verder te werken, voeg dan een & aan het einde toe. Zo open je bijvoorbeeld een tekstbestand in LibreOffice vanuit je terminal:

soffice file.txt &