Besturingssystemen S1 — Cheatsheet
Samenvatting op basis van het cursusmateriaal 2024–2025
Inhoudstafel
- Computerarchitectuur
- Linux en het filesysteem
- Tekstcommando's, redirection en pipes
- SSH, archieven en compressie
- Processen, jobs en environment
- Gebruikers en rechten
- Partities, filesystems en LVM
- Netwerken
- Linux installeren
Computerarchitectuur
| Onderdeel | Functie | Let op |
|---|---|---|
| CPU | Voert instructies uit | Socket moet bij moederbord passen |
| RAM | Snel, vluchtig werkgeheugen | Type, snelheid en capaciteit moeten ondersteund zijn |
| Moederbord | Verbindt alle componenten | Socket, chipset, vormfactor en uitbreidingssloten |
| SSD/HDD | Permanente opslag | NVMe is doorgaans sneller dan SATA |
| GPU | Beeldverwerking en parallelle berekeningen | Vermogen, formaat en voeding |
| PSU | Levert gelijkspanning | Genoeg watt, juiste connectoren en kwaliteitsmarge |
| Koeling | Voert warmte af | Past bij socket, kast en TDP |
Een goede configuratie vertrekt van het doel, het budget en de gewenste levensduur. Controleer compatibiliteit en voorzie ruimte voor uitbreiding; een dure CPU met een te zwakke GPU of voeding is geen evenwichtig systeem.
Dimensioneren
Kies niet uitsluitend op piekprestaties. Betrouwbaarheid, energieverbruik, koeling, uitbreidbaarheid en totale kost zijn even belangrijk.
Linux en het filesysteem
Linux gebruikt één hiërarchische directoryboom met / als root.
| Pad | Betekenis |
|---|---|
/home |
Persoonlijke directories |
/root |
Home van root |
/etc |
Systeemconfiguratie |
/var |
Variabele data zoals logs en caches |
/tmp |
Tijdelijke bestanden |
/bin, /usr/bin |
Programma's |
/dev |
Devices als bestanden |
/proc, /sys |
Virtuele info over kernel en hardware |
/mnt, /media |
Mountpunten |
pwd # huidige directory
ls -lah # lijst, inclusief verborgen bestanden
cd /etc # absoluut pad
cd ../.. # relatief pad
mkdir -p project/data # directories inclusief ouders
touch bestand.txt
cp -r bron doel
mv oud nieuw
rm bestand.txt
find /var/log -type f -name '*.log'
file bestand
| Symbool | Betekenis |
|---|---|
. |
huidige directory |
.. |
bovenliggende directory |
~ |
home directory |
* |
nul of meer tekens |
? |
precies één teken |
[abc] |
één teken uit de reeks |
Verwijderen
rm kent geen prullenbak. Controleer pad en wildcard vóór rm -r of rm -f.
Links
- Hardlink: extra naam voor dezelfde inode; meestal niet over filesystems heen.
- Symbolische link: bevat een pad en kan naar directories of een ander filesystem wijzen; kan gebroken raken.
Tekstcommando's, redirection en pipes
cat bestand.txt
less bestand.txt
head -n 10 bestand.txt
tail -f /var/log/syslog
wc -l bestand.txt
sort bestand.txt | uniq -c
cut -d: -f1 /etc/passwd
grep -iE 'error|warning' app.log
tr 'a-z' 'A-Z'
| Operator | Werking |
|---|---|
> |
stdout overschrijven |
>> |
stdout toevoegen |
2> |
stderr overschrijven |
2>&1 |
stderr naar dezelfde bestemming als stdout |
< |
stdin uit bestand |
\| |
stdout van links wordt stdin van rechts |
grep -i 'failed' /var/log/auth.log | sort | uniq -c > failed.txt
command >output.log 2>error.log
command >alles.log 2>&1
Pipe is datastroom
Een pipe geeft tekst/data door, niet de naam van het bestand. Elk commando moet de output produceren die het volgende commando verwacht.
SSH, archieven en compressie
Sleutelauthenticatie
De private sleutel blijft geheim; de publieke sleutel komt op de server in ~/.ssh/authorized_keys.
tar en compressie
tar -cvf archief.tar map/ # maken
tar -tvf archief.tar # tonen
tar -xvf archief.tar # uitpakken
tar -czvf archief.tar.gz map/ # gzip
tar -cjvf archief.tar.bz2 map/ # bzip2
tar -cJvf archief.tar.xz map/ # xz
tar bundelt bestanden; gzip/bzip2/xz comprimeren de bundel.
Processen, jobs en environment
ps aux
pgrep -a ssh
top # interactief procesoverzicht
command & # achtergrondproces
jobs
fg %1
bg %1
kill PID # SIGTERM: netjes stoppen
kill -9 PID # SIGKILL: laatste redmiddel
| Begrip | Betekenis |
|---|---|
| Programma/binary | Uitvoerbaar bestand op schijf |
| Proces | Actieve instantie met PID |
| Parent/child | Proces dat een ander proces start |
| Foreground | Gebruikt huidige terminal |
| Background | Terminal blijft beschikbaar |
Scripts en variabelen
Gebruik dubbele quotes rond expansies ("$bestand") om spaties en wildcards veilig te behandelen. $? bevat de exitcode van het vorige commando: 0 betekent succes.
Gebruikers en rechten
id
whoami
getent passwd gebruiker
sudo useradd -m alice
sudo passwd alice
sudo usermod -aG developers alice
sudo groupadd developers
sudo userdel -r alice
Een regel in /etc/passwd bevat:
Wachtwoordhashes staan afgeschermd in /etc/shadow.
rwx-rechten
| Recht | Bestand | Directory |
|---|---|---|
r (4) |
inhoud lezen | namen oplijsten |
w (2) |
inhoud wijzigen | entries maken/verwijderen |
x (1) |
uitvoeren | directory betreden/traverseren |
ls -l bestand
chmod 640 bestand # eigenaar rw, groep r, others niets
chmod u+x script.sh
chown alice:developers bestand
umask 027
Speciale bits
| Bit | Effect |
|---|---|
| setuid | Proces gebruikt effectieve UID van bestandseigenaar |
| setgid | Op directory erven nieuwe bestanden de groep |
| sticky bit | Alleen eigenaar/root mag eigen entries verwijderen |
Least privilege
Gebruik sudo voor gerichte beheertaken. Werken als root vergroot de impact van elke fout.
Partities, filesystems en LVM
Stappen voor klassieke opslag:
Maak permanente mounts via UUID in /etc/fstab en test vóór reboot:
LVM
sudo pvcreate /dev/sdb1
sudo vgcreate vgdata /dev/sdb1
sudo lvcreate -L 10G -n lvdata vgdata
sudo mkfs.ext4 /dev/vgdata/lvdata
sudo lvextend -L +5G -r /dev/vgdata/lvdata
pvs; vgs; lvs
-r vergroot samen met het logical volume ook het filesystem. Zonder die stap blijft de extra ruimte onbruikbaar voor het filesystem.
Netwerken
| Test | Als deze faalt |
|---|---|
ping 127.0.0.1 |
lokale TCP/IP-stack |
ping eigen-IP |
interface/configuratie |
ping gateway |
lokaal netwerk/VLAN |
ping 8.8.8.8 |
routing/internet |
ping example.com |
DNS als IP wel werkt |
Een hostconfiguratie vereist minstens IP-adres/prefix, default gateway en DNS-server. Een /24 komt overeen met masker 255.255.255.0.
Linux installeren
- Maak een VM met voldoende CPU, RAM en schijfruimte.
- Koppel de correcte ISO en kies de juiste firmware/bootvolgorde.
- Stel taal, toetsenbord, tijdzone, hostname, gebruikers en storage in.
- Installeer een bootloader en verwijder na installatie de ISO.
- Update het systeem, installeer guest tools en controleer netwerk/DNS.
- Maak pas een snapshot wanneer de basisinstallatie correct en schoon is.
sudo apt update && sudo apt upgrade # Debian/Ubuntu
sudo dnf upgrade # Fedora/RHEL-familie
hostnamectl
timedatectl
Snelle probleemaanpak
- Lees de volledige foutmelding.
- Controleer context: gebruiker, huidig pad, rechten en exitcode.
- Bekijk status en logs.
- Test van lokaal naar extern en van eenvoudig naar complex.
- Wijzig één zaak tegelijk en documenteer het resultaat.