In de meeste Linux systemen staat de terminal centraal. De terminal is een tekst console waar je commando’s in typt om zo opdrachten aan je besturingssysteem of aan een specifiek programma te geven, ook vaak aangeduid met de term commandline. Veel Linux gebruiker beweren dat “de muis gemakkelijke dingen gemakkelijk houdt en dat de commandline moeilijke dingen doenbaar houdt”. Je zal dus niet constant met de terminal moeten werken en als je geen moeilijke taken wil doen, dan zal je er nooit mee moeten werken. Maar ik kan je verzekeren, als je kan met de commandline werken, dan zal je deze kennis goed kunnen gebruiken.

Zie website: http://www.linuxcommand.org
Zie website: http://estheticspheres.be/linux-commands

 

Op de volgende pagina’s zullen we een kleine inleiding geven in het werken met de terminal. Als je dus de terminal opstart zal je iets dergelijks zien:

gebruiker@computer ~ $

Na het $-teken zie je een knipperende cursor, daar kan je commando’s ingeven.

 

Navigatie

Het eerste commando dat je kan uitproberen is het commando ls (list). ls dient om de inhoud van de huidige map weer te geven. Als je het commando ls even ingeeft, dan moet je een resultaat verkrijgen zoals hier onder staat.

$ ls
Afbeeldingen
Bureaublad
Documenten
Downloads
...

We zullen niet meer alles voor het $-teken herhalen maar enkel het $-teken overschrijven als je zelf een commando wil ingeven. Alle code die dus met een $-teken begint moet je zelf ingeven, de rest is het resultaat van het commando dat je net ingegeven hebt.

 

Je merkt dus dat je momenteel in je persoonlijke map zit, de map waarin je documenten, afbeeldingen en dergelijke staan. Je kan ook altijd zien in welke map je zit als je kijkt naar wat net voor het $-teken staat. Een tilde (~) staat hier voor je persoonlijke map, andere mappen zullen altijd getoond worden door het pad weer te geven. Je kan ook de huidige map bekijken door het commando pwd (print working directory) te gebruiken. het resultaat ven het commando pwd is dan iets zoals:

$ pwd
 /home/gebruiker

 

Om van directory te veranderen kan je het commando cd (change directory) gebruiken. Bij het commando cd moet je wel een argument mee geven. Dit argument, de map waar je naartoe wil, moet je er gewoon na typen. Als je bijvoorbeeld naar de map “Documenten” wil gaan, dan kan je het volgende commando gebruiken:

$ cd Documenten

Opgelet want Linux is hoofdlettergevoelig. De directory “Documenten” is dus een andere directory dan “documenten”.

 

Je kan ook meteen het volledige pad ingeven zoals hieronder getoond:

$ cd /home/gebruiker/Documenten

Let wel op dat je gebruiker vervangt door jou gebruikersnaam.

 

Als je het volledige pad ingeeft moet dit beginnen met de rootdirectory /. Om een directory omhoog te gaan kan je .. gebruiken als argument. Als je nu in je map Documenten bent, dan zal het volgende commando je terug naar je persoonlijke directory brengen.

$ cd ..

Je kan zo ook drie mappen omhoog gaan met het argument ../../…

 

Hulpmiddelen

De terminal heeft ook een geschiedenis. Met het pijltje omhoog kan je het vorige commando opnieuw oproepen en eventueel wijzigen, met het pijltje naar beneden krijg je dan weer het volgende commando in de geschiedenis. Veel terminals hebben ook een autoaanvulfunctie, als je een deel van het commando hebt ingetypt, dan moet je enkel nog je tab-toets gebruiken om het commando automatisch aan te vullen. Stel dat je van je persoonlijke map naar de map “Documenten” wil navigeren, dan hoef je enkel het commando cd Doc intypen en daarna op de tab-toets. Je zal zien, als “Documenten” de enige map is die begint met “Doc”, dat dan het commando automatisch aangevuld wordt tot cd Documenten/. Het kopiëren uit de terminal kan voor sommige mensen onhandig lijken tot je de gemakkelijkste manier weet. In alle Linux programma’s kan je immers kopiëren door op een plaats tekst te selecteren, dan je cursor op een andere plaats te zetten en met de middelste muisknop te klikken. Voor muizen met een scroll wieltje is dat het scroll wieltje en voor mensen met een muis met twee knoppen of een touchpad kan je met de twee knoppen tegelijk klikken.


Argumenten bij een commando

Je hebt al gezien dat je bij het commando cd een argument moet voegen. In het geval van het commando cd is dit de directory naar waar je wil navigeren. Er zijn echter ook commando’s die niet altijd een argument nodig hebben maar er wel een mogen krijgen. Een voorbeeld van zo’n commando is het ls commando. Als je bij het ls commando geen argument heeft, dan toont het gewoon de inhoud van de huidige directory. Als je als argument een directory heeft, dan toont ls de inhoud van die directory. We geven een voorbeeld hieronder:

$ ls /bin
bash                 echo        more           sh.distrib
bunzip2              ed          mount          sleep
bzcat                egrep       mountpoint     stty
bzcmp                false       mt             su
bzdiff               fgconsole   mt-gnu         sync
bzegrep              fgrep       mv             tailf
bzexe                fuser       nano           tar
...

 

Opties bij een commando

De meeste commando’s bieden de mogelijkheid om naast argumenten ook opties mee te geven. Het is algemeen afgesproken dat opties die bestaan uit één letter met een enkel streepje (-) vooraf gegaan worden en opties die bestaan uit een woord met een dubbel streepje (–) vooraf gegaan worden. Om te kijken welke opties er bestaan voor een commando bieden de meeste commando’s de –help optie aan, sommige gebruiken ook -h. Om de help van het commando ls op te vragen doe je dus het volgende:

$ ls –help
Gebruik: ls [OPTIE]... [BESTAND]...
Informatie tonen over de gegeven BESTANDen (standaard over de huidige map).
De items worden alfabetisch gesorteerd als geen van de opties '-cftuvSUX'
noch '--sort' gegeven is.

(Een verplicht argument bij een lange optie geldt ook voor de korte vorm.)
-a, --all                  ook de namen tonen die beginnen met een '.'
-A, --almost-all           als '-a', maar de items '.' en '..' weglaten
    --author               met '-l': de auteur van elk bestand tonen
-b, --escape               van niet-grafische tekens de octale waarde tonen
    --block-size=GROOTTE   te gebruiken blokgrootte (in bytes; zie onder)
-B, --ignore-backups       geen namen tonen die eindigen op '~'
-c                         met '-lt': op 'ctime' sorteren en deze tonen (de
                           tijd van de laatste statusinformatiewijziging);
                           met '-l': op naam sorteren en 'ctime' tonen;
                           anders: op 'ctime' sorteren
-C                         de items in kolommen presenteren (standaard)
    --color[=WANNEER]      bestandstypen met kleuren onderscheiden;
                           WANNEER is 'always' (altijd), 'never' (nooit),
                           of 'auto' (uitvoerapparaatafhankelijk)
-d, --directory            de mappen zelf tonen in plaats van hun inhoud,
                           en symbolische koppelingen niet volgen
-D, --dired                uitvoer produceren voor de 'dired'-modus van Emacs
-f                         hetzelfde als '-a -U' zonder '-l -s --color'
-F, --classify             achter elk item het type aanduiden (één van */=@|)
    --file-type            idem, maar '*' niet tonen
    --format=WOORD         te gebruiken opmaak; WOORD kan zijn 'commas' (-m),
                           'across' of 'horizontal' (-x), 'vertical' (-C),
                           'long' of 'verbose' (-l), 'single-column' (-1)
    --full-time            hetzelfde als '-l --time-style=full-iso'
-g                         als '-l', maar geen eigenaar tonen
    --group-directories-first
                           mappen vóór bestanden groeperen; kan aangevuld
                           worden met een '--sort', maar gebruik van
                           '--sort=none' of '-U' deactiveert groepering
-G, --no-group             bij een uitgebreide lijst geen groepsnaam tonen
-h, --human-readable       groottes in leesbare vorm tonen (bijv. 15K, 234M)
    --si                   idem, maar machten van 1000 i.p.v. 1024 gebruiken
-H, --dereference-command-line
...

 

Veelgebruikte opties van het ls commando

Een eerste veelgebruikte optie van het ls commando is de -l optie. Deze optie zal een meer uitgebreide lijst geven van de bestanden in de huidige directory. Hieronder staat een mogelijk resultaat.

$ ls –l
-rw-------   1 gebruiker groep        576 Apr 17  1998 tekstje.txt
drwxr-xr-x   6 gebruiker groep       1024 Oct  9  1999 mijnWebSite
-rw-rw-r--   1 gebruiker groep     276480 Feb 11 20:41 mijnWebSite.tar
-rw-------   1 gebruiker groep       5743 Dec 16  1998 kaartje.txt
----------     --------- -----   -------- ------------ ---------------
    |              |       |        |          |              |
    |              |       |        |          |        Bestandsnaam
    |              |       |        |          |
    |              |       |        |          +---     Datum laatste
 wijziging
    |              |       |        |
    |              |       |        +-------------      Grootte (in bytes)
    |              |       |
    |              |       +----------------------      Groep
    |              |
    |              +-------------------------------     Eigenaar van het bestand
    |
    +----------------------------------------------     Bestandsrechten

 

Bestandsnaam: De bestandsnaam is wat je met het ls commando te zien krijgt.

Datum laatste wijziging: De datum dat de laatste keer het bestand of de map bewerkt is.

Grootte: De grootte van het bestand in kwestie.

Groep: De gebruikersgroep die meer rechten over het bestand kan krijgen.

Eigenaar: De eigenaar van het bestand, de eigenaar heeft meer rechten over het bestand.

Rechten: De rechten van het bestand. Aan deze code kan je zien wie er lees-, schrijf- of uitvoerrechten heeft. Deze code wordt later uitgelegd in de sectie over rechten. Wat je wel al kan zien is dat de directories met een d beginnen.

 

Een ander veelgebruikte optie is de -a of –all optie. Met deze optie toont het ls commando alle bestanden, ook de verborgen bestanden. In Linux is het eenvoudig om een verborgen bestand te maken, het enige dat je moet doen is je bestandsnaam met een . (punt) beginnen. De verborgen bestanden kan je ook in nautilus (de filebrowser in de standaard Mint) tonen met de sneltoets ctrl+h. We vergelijken het resultaat van het ls en het ls -a commando:

$ ls
Bestand1.txt
Bestand2.txt$ ls –a
.
..
.settings
Bestand1.txt
Bestand2.txt$ ls –all
.
..
.settings
Bestand1.txt
Bestand2.txt

Als je opties gebruikt die maar uit één letter bestaan, dan kan je altijd opties samenvoegen. Het commando ls -l -a is het zelfde als het commando ls -la, dit is natuurlijk ook hetzelfde als ls -al.

 

Misschien heb je ook de puntjes opgemerkt als je ls -a opvraagt. Het enkel puntje wil de huidige map zeggen. In feite zou je bij een cd commando altijd dit puntje moeten gebruiken. Als je zou willen naar je Documenten gaan vanuit je persoonlijke map, dan zou je moeten cd ./Documenten/ typen. Het is immers meestal verondersteld dat je in de huidige map start en dus is cd Documenten/ genoeg en de laatste slash moet zelfs ook niet. De twee puntes duiden de map hier boven aan, dit hebben we al besproken bij het cd commando.

 

Argumenten en opties combineren

Als je alleen maar informatie over een bestand wil, dan kan je dat bestand als argument meegeven. Zo geeft ls -l textje.txt informatie over het bestand textje.txt. Je het kan gemakkelijk zijn om deze vorm te gebruiken als de lijst van bestanden te lang is om gemakkelijk door te zoeken.

$ ls –l
-rw-------   1 gebruiker groep         576 Apr 17 1998 tekstje.txt