Cheatsheet
De commando's uit de Linux-cursus op één pagina, in de volgorde van de thema's. Zoek met het veld hieronder, of klik een vraag aan om het antwoord te zien.
0 onderwerpen. Typ / om te zoeken.
Rondkijken
Wie ben ik, en op welke computer? (whoami, hostname, uname)
whoami
hostname
uname -a
Waar ben ik, en wat staat hier? (pwd, ls)
pwd
ls
ls -a
ls /etc
-a laat ook verborgen bestanden zien: alles wat met een punt begint.
Hoe ga ik naar een andere map? (cd)
cd /var/log
cd ..
cd ~
.. is de map erboven, ~ je thuismap.
Hoe typ ik minder? (Tab)
Typ de eerste letters van een commando, bestand of map en druk op Tab. Passen er meer, druk dan nog een keer: dan zie je wat er past.
Hoe haal ik een vorig commando terug, en maak ik het scherm leeg? (history, clear)
history
history 5
clear
Pijltje omhoog haalt het vorige commando terug, pijltje links en rechts zetten de cursor in de regel. Ctrl+C gooit de regel weg, Ctrl+L maakt het scherm leeg, net als clear.
Bestanden
Hoe lees ik een bestand? (cat, head, tail, wc)
cat notities.txt
head -n 3 /etc/passwd
tail -n 1 /var/log/auth.log
wc -l /etc/passwd
Hoe maak ik een map of een bestand? (mkdir, touch, echo, >)
mkdir -p project/static
touch leeg.txt
echo "eerste regel" > lijst.txt
echo "tweede regel" >> lijst.txt
Eén > maakt het bestand eerst leeg, >> zet er iets onder.
Hoe kopieer, verplaats en verwijder ik? (cp, mv, rm)
cp notities.txt kopie.txt
mv oud.txt nieuw.txt
rm -r oude-map
Er is geen prullenbak: rm is meteen weg.
Hoe doe ik iets met veel bestanden tegelijk? (*, ?)
ls *.jpg
mv *.jpg *.png fotos/
echo *.txt
* past op elk stuk tekst, ? op één teken. Kijk met ls of echo wat er past voordat je rm gebruikt.
Zoeken
Hoe zoek ik iets in een bestand? (grep, |)
grep Failed /var/log/auth.log
grep -i failed /var/log/auth.log
ls /etc | grep host
Hoe vind ik een bestand? (find)
find /var/www -name '*.html'
find ~ -type d
find / -name passwd
Zet een patroon met * altijd tussen aanhalingstekens.
Gebruikers en rechten
Wie ben ik, en van wie is dit bestand? (id, ls -l)
id
ls -l /etc/passwd
rwx staat voor lezen, schrijven en uitvoeren, voor de eigenaar, de groep en de rest.
Linux op je eigen computer
Hoe installeer ik Ubuntu, en welke versie staat er? (wsl --install, wsl -l -v)
In een PowerShell als administrator:
wsl --install -d Ubuntu-24.04
Daarna, in een gewone PowerShell:
wsl -l -v
Onder VERSION hoort 2 te staan.
Hoe open ik Ubuntu? (wsl ~)
Zoek in het startmenu naar Ubuntu, of typ in PowerShell:
wsl ~
Met de ~ begin je in je Linux-thuismap.
Hoe kom ik vanuit Linux bij mijn Windows-bestanden? (/mnt/c, explorer.exe, code)
ls /mnt/c/Users
explorer.exe .
code .
Werk aan een project in je Linux-thuismap, niet onder /mnt/c.
Hoe bekijk ik een website uit Linux in mijn browser op Windows? (python3 -m http.server)
python3 -m http.server 8000
Open daarna http://localhost:8000 op Windows. Ctrl+C stopt hem.
Wat kan dit commando? (--help, man, type, help)
ls --help
man ls
type cd
help cd
In man: spatie is verder, /woord zoekt, q stopt. Voor een commando dat in bash zelf zit (cd), gebruik je help.
Welk commando doet wat ik wil, en hoe zet ik regels op alfabet? (apropos, sort)
apropos sort
sort /etc/passwd
Hoe gebruik ik een variabele in de shell, zoals mijn naam? (echo, export, printenv)
echo $USER $HOME
NAAM=Sam
echo "Hallo $NAAM"
export NAAM
printenv NAAM
Geen spaties rond het =. Tussen enkele aanhalingstekens vult de shell niets in. Met export gaat een variabele mee naar elk programma dat je start.
Programma's, diensten en groepen
Hoe installeer ik een programma, als beheerder? (sudo, apt, tldr)
sudo apt update
sudo apt install tldr
sudo apt upgrade
tldr tar
sudo vraagt jouw eigen wachtwoord. Gebruik het alleen als het moet.
Hoe bewerk ik een bestand in de terminal? (nano)
nano bestand.txt
sudo nano /etc/hosts
Ctrl+O en Enter slaat op, Ctrl+X stopt.
Wat draait er, en hoe stop ik het? (ps, pgrep, kill, pkill, top)
ps
ps aux
pgrep -a sleep
kill 734
pkill sleep
top
Ctrl+C stopt wat in je eigen terminal draait. kill -9 pas als kill alleen niet werkt. top sluit je met q.
Hoe start, stop en bekijk ik een dienst? (systemctl, journalctl)
systemctl status nginx
sudo systemctl start nginx
sudo systemctl stop nginx
sudo systemctl restart nginx
sudo systemctl disable --now nginx
sudo journalctl -u nginx -n 20
sudo journalctl -u nginx -f
disable --now zet hem uit en laat hem na een herstart ook uit; -f blijft meekijken tot je Ctrl+C drukt.
Hoe zet ik iemand in een groep, en geef ik een groep rechten? (groups, groupadd, groupdel, usermod -aG, chgrp, chmod)
groups
sudo groupadd klas
sudo usermod -aG klas $USER
sudo chgrp klas /srv/klas
sudo chmod g+w /srv/klas
sudo groupdel klas
Altijd -aG: zonder -a haalt usermod je uit je andere groepen, ook uit sudo. Een nieuwe groep telt pas als je opnieuw inlogt.
Netwerk
Wat is mijn IP-adres? (ip)
ip -br a
De a staat voor address. 127.0.0.1 (localhost) is je eigen computer.
Kan ik die computer bereiken, en antwoordt de website? (ping, curl)
ping -c 3 1.1.1.1
curl -I https://example.com
0% packet loss is goed; een 200 in de eerste regel van curl ook.
Hoe log ik in op een andere computer? (ssh)
ssh sam@server.voorbeeld.nl
ssh localhost uptime
exit
Met een commando erachter voert ssh alleen dat uit en komt hij meteen terug. exit brengt je terug naar je eigen computer.
Hoe log ik in met een sleutel? (ssh-keygen, ssh-copy-id, chmod 600)
ssh-keygen -t ed25519
ssh-copy-id sam@server.voorbeeld.nl
chmod 600 ~/.ssh/id_ed25519
ssh-keygen -R localhost
Je privésleutel (~/.ssh/id_ed25519) geef je nooit weg. ssh-keygen -R vergeet een oude vingerafdruk.
Hoe zet ik de ssh-dienst op mijn laptop uit? (systemctl, ssh.socket)
sudo systemctl disable --now ssh.socket ssh
sudo systemctl enable --now ssh.socket
De eerste regel zet hem uit, de tweede weer aan.
Hoe kom ik met mijn sleutel bij GitHub? (ssh -T)
cat ~/.ssh/id_ed25519.pub
ssh -T git@github.com
Zet de regel uit id_ed25519.pub op GitHub onder Settings, SSH and GPG keys. Nooit de privésleutel.
Hoe kopieer ik naar of van een andere computer? (scp)
scp notities.txt sam@server.voorbeeld.nl:
scp sam@server.voorbeeld.nl:kopie.txt .
scp -r proef sam@server.voorbeeld.nl:kopiemap
scp 'sam@server.voorbeeld.nl:proef/*.txt' hier/
Zonder dubbele punt is de computer een bestandsnaam. Een * voor de andere computer zet je tussen aanhalingstekens.
Hoe kom ik bij een poort die alleen op de server openstaat? (ssh -L)
ssh -N -L 9000:127.0.0.1:8000 sam@server.voorbeeld.nl
Poort 9000 op je eigen computer gaat naar 127.0.0.1:8000 op de server. Open http://localhost:9000; Ctrl+C sluit de tunnel.