In 2023 hoef je geen terminalvenster meer te openen om je Linux-computer te gebruiken. Toch is de command line interface een nuttig hulpmiddel om te gebruiken.

Onder redactie van Rob Coenraads


Alle tekst die je in een terminalvenster tikt, moet geïnterpreteerd worden door het systeem. Die rol is weggelegd voor de shell. Sinds 1989 is de standaardshell op bijna alle Unix-systemen de Bourne Again Shell, beter gekend als Bash. Wel zijn er alternatieven zoals Zsh  die iets aan terrein winnen. De commando’s die we hier bespreken, werken in beide shells.

STAP 1 Navigeren 
Als je gebruikmaakt van de command line interface (CLI), is het handig om te weten waar in het systeem je ergens zit. Met het commando pwd (Print working directory) krijg je meteen die informatie te zien. Om naar een andere map te navigeren, kun je het change directory-commando gebruiken, gevolgd door de locatie waar je naartoe wil gaan. cd /Afbeeldingen stuurt je bijvoorbeeld naar je map met afbeeldingen. cd met niets erachter stuurt je rechtstreeks naar je home-folder. In combinatie met twee puntjes stuurt cd .. je naar de bovenliggende map.

Wil je weten welke bestanden er in een map zitten? Gebruik dan het list-commando ls. Hier kun je opties aan toevoegen om ook verborgen bestanden weer te geven met -a of meer uitgebreide informatie te krijgen met -l. Krijg je echt een lange lijst te zien? Dan kan je gaan filteren met grep. Zoek je naar foto’s van je reis aan zee en staat “zee” in de bestandsnaam? Door ls -al | grep zee in te voeren, krijg je een overzicht hiervan.

bash stap 1 2

Met een paar commando’s kun je al door het systeem navigeren

STAP 2 Mappen en bestanden bewerken 
Wie voor de eerste keer bestandsbewerkingen uitvoert via de CLI, kan best eerst naar /tmp navigeren. Zo kun je geen schade aan het systeem toebrengen. Eenmaal in /tmp aangekomen, kun je bestandsbewerkingen testen. Zo kun je met het mkdir-commando een map maken en met het touch-commando kun je dan weer een testbestand maken. Bestanden op Linux hoeven geen extensies mee te krijgen, maar dat maakt het voor jezelf wel overzichtelijker. Maak twee testmappen en stop twee testbestandjes in een van de mappen; het best gebruik je geen spaties in de namen van bestanden en mappen.

Met het move-commando mv kun je bestanden van de ene map naar de andere verplaatsen. De syntax daarvoor is niet erg ingewikkeld: mv bestand doellocatie. Je kunt het move-commando ook gebruiken om bestanden van naam te veranderen. Bij de doellocatie geef je dan de nieuwe bestandsnaam op. Om een bestand te kopiëren, gebruik je het copy-commando cp. De syntax is hetzelfde als die voor move – de doellocatie kan een map maar ook een nieuwe bestandsnaam zijn. Deze locaties zijn relatief en gaan verder op de map waarin je aan het werk bent, tenzij je de absolutie locatie (bijvoorbeeld /tmp/Testmap-1/test-1.txt) aangeeft.

Het is interessant om de bestanden meteen wat inhoud te geven. Dit kun je doen in de command line door vergelijkingstekens te gebruiken. Met ‘>’ kun je de inhoud van een bestand vervangen door de output van een commando. Niet alles wissen? Gebruik dan ‘>>’. De output wordt dan achter aan het bestand gehangen. Met het echo-commando kun je die output genereren: echo “dit is een eerste testbestand” > test-1.txt.

STAP 3 Bestanden weergeven 
Wil je weten wat er in bestanden en mappen staat, dan heb je daarvoor een aantal opties.

De meest voor de hand liggende opties zijn less en more. Het eerste commando geeft de bestandsinhoud weer in het terminalvenster, tot er geen plek meer is – met een druk op de spatiebalk krijg je de volgende ‘pagina’ te zien. In less is erg veel mogelijk. Om de vele opties in less te zien, druk je op de ‘h’-toets. De reader sluit je af door te drukken op ‘q’. More is een eerdere en minder uitgebreide versie van dezelfde reader.

Je kunt ook het concatenatie-commando cat gebruiken dat vooral handig is als je de bestandsinhoud in andere commando’s wilt gebruiken: de cat-output is namelijk platte tekst die kan dienen als input voor andere commando’s.

bash stap2 3 2

Je hebt slechts een paar commando’s nodig
om bestanden te maken en te bewerken

STAP 4 Opruimen 
Om bestanden of mappen te verwijderen, gebruik je het remove-commando rm. Dit commando werkt zo op bestanden, voor lege mappen gebruik je -d- erachter en voor gevulde mappen de recursieve functie met rm -r. Daarmee verwijder je dus een map en de inhoud ervan en let hier goed mee op: de bestanden komen niet in een prullenmand terecht en zijn niet terug te halen nadat je ze verwijdert.

STAP 5 Wildcards 
Tot nu toe verplaatsten we slechts 1 bestand per keer. De kracht van de CLI schuilt er echter in dat je ook bewerkingen in bulk kunt maken. Daarvoor gebruik je wildcards – sterretjes die van alles kunnen betekenen en de CLI efficiënter maken dan elke GUI. Zo kun je bijvoorbeeld alle .jpg-bestanden in één keer verplaatsen naar een map; je kunt dit voor alle bestanden, bestandsnamen en mappen doen. Om in /tmp de twee testmappen en inhoud te verwijderen, kun je bijvoorbeeld rm -r Testmap* invoeren.

bash wildcards 2

Met wildcards kun je snel meerdere bewerkingen tegelijk maken

STAP 6 Read the manual 
Er zijn natuurlijk veel meer commando’s en opties, voor meer info open je een handleiding met man: met man rm zie je dus de handleiding van het rm-commando. Als er geen man-page beschikbaar is, probeer dan het commando uit te voeren met de -h- of --help-flag. Meestal krijg je dan voldoende hulpmiddelen om de commando’s te leren begrijpen.