Linux installeren
© iStock

“Linuxgebruikers moeten de command line interface (CLI) kunnen gebruiken, anders kunnen ze niets met het systeem”. Het is een uitspraak die je wel vaker hoort, maar waar inmiddels niets meer van klopt: je hoeft anno 2023 geen terminalvenster meer te openen om je Linux-computer te gebruiken. Toch is de command line een nuttig hulpmiddel voor wie weet hoe je hem gebruikt.

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 zo goed als alle Unix-systemen de ‘Bourne Again Shell’, beter gekend als ‘Bash’. Weliswaar zijn er alternatieven zoals ‘Zsh’ te vinden, die langzaamaan aan terrein winnen. De commando’s die we hier bespreken werken in beide shells.

Stap 1: navigeren door het systeem

Als je gebruik maakt van de CLI is het handig om te weten waar in het systeem je ergens zit. Met het commando [pwd], wat staat voor “Print working directory”, krijg je meteen die informatie te zien. Om naar een andere map te navigeren kan 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 kan je opties aan toevoegen om ook verborgen bestanden weer te geven (-a) of meer uitgebreide informatie te krijgen (-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? Dan kan je ze oplijsten door ls -al | grep zee in te voeren.

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

Stap 2: mappen en bestanden bewerken

Met alleen navigeren door het systeem zal je echter niet ver geraken. Je wil ook iets kunnen doen met het systeem. Wie voor de eerste keer bestandsbewerkingen uitvoert via de CLI kan best eerst naar /tmp navigeren. Zo kan je geen schade aan het systeem toebrengen. Eenmaal in /tmp aangekomen, kan je bestandsbewerkingen gaan uittesten. Om te beginnen kan je met het mkdir-commando een map maken. Met het touch-commando kan 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. Om het voor jezelf makkelijk te maken gebruik je best geen spaties in de namen van bestanden en mappen.

Met het move-commando mv kan je bestanden van de ene map naar de andere verplaatsen. De syntax daarvoor is niet erg ingewikkeld: mv bestand doellocatie. Je kan het move-commando ook gebruiken om bestanden van naam te veranderen. Bij de doellocatie geef je dan de nieuwe bestandsnaam op. Wil je een bestand kopiëren? Gebruik dan het copy-commando cp. De syntax is hetzelfde als die voor move – de doellocatie kan een map zijn, maar even goed een nieuwe bestandsnaam. 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 kan je doen in de command line door gebruik te maken van vergelijkingstekens. Met ‘>’ kan je de inhoud van een bestand vervangen door de output van een commando. Wil je niet alles wissen? Gebruik dan ‘>>’. De output wordt dan vanachter aan het bestand gehangen. Met het echo-commando kan je die output genereren: echo “dit is een eerste testbestand” > test-1.txt.

Stap 3: bestanden weergeven

Met de commando’s voor mappen en bestanden kan je gerust even spelen: in de /tmp-map gaan de veranderingen verloren als je het systeem opnieuw opstart. Je hoeft dus geen schrik te hebben om iets verkeerds te doen. Eenmaal je echt met bestanden en mappen aan de slag gaat, kan het handig zijn om te weten wat er in de bestanden staat. Daarvoor heb je 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 alle opties te zien te krijgen druk je op de ‘h’-toets. Om de reader af te sluiten druk je op ‘q’. More is een eerdere en minder uitgebreide versie van dezelfde reader.

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

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

Stap 4: opruimen

Af en toe moet je ook bestanden of mappen verwijderen. Dat kan heel simpel met het remove-commando rm. Het commando werkt normaal gezien enkel op bestanden, al kun je ook mappen verwijderen. Voor lege mappen gebruik je de -d-optie, voor gevulde mappen gebruik je de recursieve functie met rm -r: je verwijdert dan een map en de inhoud ervan. 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 kan maken. Daarvoor gebruik je ‘wildcards’ – sterretjes die eender wat kunnen betekenen. Wildcards maken de CLI efficiënter dan eender welke GUI. Zo kan je bijvoorbeeld alle .jpg-bestanden in één keer verplaatsen naar een map. Je kan dit voor alle bestanden, bestandsnamen en mappen doen. Om in /tmp de twee testmappen en inhoud te verwijderen kan je bijvoorbeeld rm -r Testmap* invoeren.

Met wildcards kan je snel meerdere bewerkingen tegelijk maken.

Stap 6: “Read the manual”

Er zijn natuurlijk veel meer commando’s dan hier vernoemd worden – sommige commando’s hebben bovendien nog een heleboel opties waarover we het niet hebben gehad. Ben je benieuwd naar die opties, of naar een ander commando? Dan kan je altijd de handleiding open doen met man. Met man rm krijg je bijvoorbeeld de handleiding van het rm-commando te zien. Gebruik je een programma waarvoor geen manpage beschikbaar is? Probeer het commando dan uit te voeren met de -h- of –help-flag. Meestal krijg je dan voldoende hulpmiddelen om de commando’s te leren begrijpen.