Ga naar hoofdinhoud

Linux

De meeste servers op het internet draaien Linux. Als je ooit een webapplicatie deployt, een database beheert of in de cloud werkt zal je werken met Linux. Leren werken met de terminal is daarmee een onmisbare vaardigheid voor elke developer.

Wat is Linux?

Linux is een open-source besturingssysteem. Net als Windows of macOS beheert het de hardware van een computer en geeft het programma's de middelen die ze nodig hebben. Maar er zijn enkele cruciale verschillen:

  • Open-source — de broncode is publiek beschikbaar; iedereen kan hem bekijken, aanpassen en verspreiden.
  • Gratis — geen licentiekosten.
  • Stabiel — Linux-servers draaien vaak jaren aan één stuk zonder herstart.
  • Terminalgedreven — de command-line is de primaire interface, niet een grafische omgeving.

Kernel vs userspace

De kern van Linux is de kernel: de software die rechtstreeks communiceert met de hardware (CPU, geheugen, schijven, netwerk). Bovenop de kernel draait de userspace: alle programma's die de gebruiker ziet en gebruikt, van de shell tot webservers.

┌─────────────────────────────────┐
│ Jouw programma's (Python, ...) │
├─────────────────────────────────┤
│ Shell / Terminal │
├─────────────────────────────────┤
│ Linux Kernel │
├─────────────────────────────────┤
│ Hardware │
└─────────────────────────────────┘

Distributies

Linux bestaat niet als één product. Ontwikkelaars combineren de kernel met extra software tot een distributie (distro). Er zijn honderden distributies, maar ze vallen in drie grote families:

FamilieVoorbeeldenTypisch gebruik
Debian-gebaseerdUbuntu, Debian, Linux MintServers, development, desktops
Red Hat-gebaseerdRHEL, Fedora, CentOSEnterprise-omgevingen
Arch-gebaseerdArch Linux, ManjaroGevorderde gebruikers

In dit vak werken we met Ubuntu/Debian via de terminal.

Wat leer je in dit hoofdstuk?

SectieWat je leert
Het bestandssysteemHoe de mappenstructuur van Linux in elkaar zit en hoe je erin navigeert
Basiscommando'sBestanden aanmaken, kopiëren, verplaatsen en lezen
Streams & omleidingStandaardstromen, omleiding en pipes
Filtercommando'sgrep, sort, uniq, wc en cut via pipes combineren
Archieven & compressieBestanden archiveren en comprimeren met tar, gzip en zip
Gebruikers & rechtenGebruikersbeheer, groepen en bestandsrechten
Processen & packagesProcessen beheren en software installeren
Bash scriptingAutomatiseren met shell scripts