Een overzicht van de commando's die je bij het beheer van een VPS dagelijks gebruikt. Bij elk commando leggen we uit wat het doet en wat de opties ervan betekenen. Aan het einde vind je een spiekbriefje om af te drukken.
Wat je nodig hebt
- Een VPS bij StormHost met Ubuntu 24.04 of Debian 13
- Een SSH-verbinding (handleiding) of de console in de browser
- Ongeveer 20 minuten om het uit te proberen
Hoe je een commando leest#
ls -la /var/log| Deel | Voorbeeld | Betekenis |
|---|---|---|
| Commando | ls | Het programma dat wordt gestart (hier de inhoud van een map tonen). |
| Opties | -la | Passen het gedrag aan. Korte opties schrijf je met één streepje en kun je combineren (-l -a = -la), lange met twee (--all). |
| Argument | /var/log | Waarop het commando werkt (een bestand, een map, de naam van een pakket). |
Handige toetsen:
| Toets | Wat hij doet |
|---|---|
| Tab | Vult de naam van een commando, bestand of map aan. Twee keer drukken toont de mogelijkheden. Scheelt typfouten. |
| Pijltjes omhoog / omlaag | Bladeren door eerder ingevoerde commando's. |
| Ctrl+C | Breekt het lopende commando af. In een terminal is dat geen kopiëren. |
| Ctrl+R | Zoekt op tekst in de geschiedenis van commando's. |
| Ctrl+L | Maakt het scherm leeg (net als het commando clear). |
sudo: als root (# aan het einde van de prompt) mag je alles. Zet als gewone gebruiker ($ aan het einde van de prompt) sudo voor een commando dat beheerdersrechten nodig heeft, bijvoorbeeld sudo apt update. Het vraagt om het wachtwoord van jouw gebruiker. In deze handleiding schrijven we de commando's voor root, voeg als gewone gebruiker sudo toe.
Hulp: bijna elk commando heeft hulp via commando --help en een handleiding via man commando (je bladert met de spatiebalk en sluit af met q).
Mappen en paden#
Linux heeft geen schijven C: en D:. Alles begint bij de hoofdmap /.
| Map | Wat erin staat |
|---|---|
/ | De root van het hele systeem. |
/root | De thuismap van de gebruiker root. |
/home/jan | De thuismap van de gebruiker jan. De afkorting voor je eigen thuismap is ~. |
/etc | Configuratiebestanden van het systeem en van services. |
/var/log | Logs (een deel van de logs staat alleen in het journal, zie journalctl). |
/var/www | De gebruikelijke plek voor websites. |
/tmp | Tijdelijke bestanden, worden bij een herstart verwijderd. |
Een absoluut pad begint met / en geldt overal vandaan (/etc/ssh/sshd_config). Een relatief pad geldt vanaf de map waarin je staat (logs/latest.log). . is de huidige map, .. de bovenliggende map.
pwd
ls -la
cd /var/log
cd ..
cdpwd– toont in welke map je nu staat.ls -la– toont de inhoud van de map:-luitgebreid (rechten, eigenaar, grootte, datum),-aook verborgen bestanden (die beginnen met een punt).cd /var/log– gaat naar de map/var/log.cd ..– gaat één niveau omhoog.cd– gaat zonder argument terug naar je thuismap.
Zo lees je een regel uit ls -la:
-rw-r--r-- 1 root root 1234 Oct 1 10:00 config.yml| Deel | Betekenis |
|---|---|
- | Type: - bestand, d map, l koppeling. |
rw-r--r-- | Rechten: eigenaar (rw-), groep (r--), anderen (r--). r lezen, w schrijven, x uitvoeren (bij een map: openen). |
root root | Eigenaar en groep. |
1234 | Grootte in bytes (met de optie -h leesbaar, bijv. 1.2K). |
Oct 1 10:00 | Datum van de laatste wijziging. |
Bestanden#
| Commando | Wat het doet |
|---|---|
cat bestand.txt | Toont het hele bestand. Handig voor korte bestanden. |
less bestand.txt | Een lang bestand bekijken. Met de pijltjes en de spatiebalk blader je, /tekst zoekt, q sluit af. |
tail -n 50 bestand.log | De laatste 50 regels. Met -f toont het doorlopend nieuwe regels (een log volgen). |
cp bron doel | Kopieert een bestand. Een map kopieer je met de optie -r (recursief). |
mv bron doel | Verplaatst of hernoemt een bestand of map. |
mkdir -p pad/naar/map | Maakt een map aan, -p maakt ook ontbrekende bovenliggende mappen aan. |
rm bestand | Verwijdert een bestand. |
rm -r map | Verwijdert een map met de inhoud. |
rm verwijdert definitief
Linux heeft geen prullenbak. Wat je met het commando rm verwijdert, is weg. Wees extra voorzichtig met rm -r en voer rm -rf nooit uit met een pad dat je niet twee keer hebt gecontroleerd. Eén spatie te veel is genoeg: rm -rf /var/www/ mijn-site in plaats van rm -rf /var/www/mijn-site verwijdert de hele map /var/www met alle websites. De hele VPS herstel je vanuit een back-up op het tabblad Back-ups, maar je verliest de wijzigingen sinds die back-up.
De editor nano#
nano /etc/hostsOpent het bestand in een eenvoudige editor. De bediening staat in de onderste regels, ^ betekent Ctrl en M- betekent Alt.
| Toetsen | Wat ze doen |
|---|---|
| Ctrl+O, daarna Enter | Slaat het bestand op. |
| Ctrl+X | Sluit de editor. Bij niet-opgeslagen wijzigingen vraagt hij: Y opslaan, N weggooien. |
| Ctrl+W | Zoekt tekst. |
| Ctrl+K | Knipt de hele regel. |
| Ctrl+U | Plakt de geknipte regel. |
| Alt+U | Maakt de laatste wijziging ongedaan. |
Tekst van het klembord plak je met de sneltoets van je terminal (Windows Terminal Ctrl+V, PuTTY de rechtermuisknop, macOS Cmd+V).
Rechten en eigenaar#
chmod 644 soubor.txt
chmod 755 skript.sh
chown jan:jan soubor.txt
chown -R www-data:www-data /var/www/webchmod– wijzigt de rechten. Het getal heeft drie cijfers: eigenaar, groep, anderen. Elk cijfer is de som van4(lezen) +2(schrijven) +1(uitvoeren).chown gebruiker:groep– wijzigt de eigenaar en de groep.-R– recursief, dus ook voor alles in de map.
| Getal | Rechten | Typisch gebruik |
|---|---|---|
644 | de eigenaar leest en schrijft, anderen lezen alleen | Gewone bestanden, de configuratie van een website |
600 | alleen de eigenaar leest en schrijft | Wachtwoorden, sleutels, .env |
755 | de eigenaar alles, anderen lezen en voeren uit | Mappen, uitvoerbare scripts |
700 | alleen de eigenaar | Privémappen (~/.ssh) |
Gebruik de rechten 777 (iedereen mag alles) niet. Een probleem met rechten lossen ze niet op, ze stellen het bestand alleen open voor iedereen.
Pakketten (apt)#
| Commando | Wat het doet |
|---|---|
apt update | Haalt de actuele lijst met pakketten op. Voer dit altijd uit voordat je iets installeert. |
apt upgrade | Werkt de geïnstalleerde pakketten bij. Nieuwe afhankelijkheden installeert het erbij, maar het verwijdert geen enkel pakket. |
apt full-upgrade | Werkt alles bij, ook als daarvoor een pakket moet worden verwijderd (meestal bij een grotere wijziging van afhankelijkheden). |
apt install htop | Installeert een pakket. Meerdere pakketten scheid je met een spatie. |
apt remove htop | Verwijdert een pakket, de configuratiebestanden blijven staan. |
apt purge htop | Verwijdert een pakket samen met de configuratie. |
apt autoremove | Verwijdert afhankelijkheden die nergens meer voor nodig zijn. |
apt search naam | Zoekt een pakket op naam en beschrijving. |
De optie -y (apt install -y htop) bevestigt de vraag “Do you want to continue?” automatisch.
Services en logs#
Services (webserver, database, SSH) worden beheerd door systemd met het commando systemctl.
| Commando | Wat het doet |
|---|---|
systemctl status nginx | De status van de service: active (running) draait, failed is gecrasht, plus de laatste paar regels van het log. Sluit af met q. |
systemctl restart nginx | Herstart de service. |
systemctl reload nginx | Laadt de nieuwe configuratie zonder onderbreking (dat kunnen alleen sommige services). |
systemctl stop nginx / start nginx | Stopt / start de service. |
systemctl enable nginx | De service start bij het opstarten van de VPS. Met --now wordt hij ook meteen gestart. |
systemctl disable nginx | De service start niet bij het opstarten. |
systemctl --failed | Toont de services die zijn gecrasht. |
De logs van services lees je met journalctl:
journalctl -u nginx -n 50 --no-pager
journalctl -u nginx -f
journalctl -u nginx --since "1 hour ago"-u nginx– alleen de regels van de servicenginx.-n 50– de laatste 50 regels.--no-pager– direct tonen, zonder de viewerless.-f– doorlopend nieuwe regels tonen (stop met Ctrl+C).--since "1 hour ago"– de regels van het laatste uur ("2026-10-01 10:00"werkt ook).
Schijf, geheugen en processen#
| Commando | Wat het toont |
|---|---|
df -h | De gebruikte en vrije ruimte op de schijven. Let op de regel met het koppelpunt /. -h = leesbare eenheden. |
du -sh /var/log | Hoeveel ruimte een map inneemt. -s het totaal, -h leesbaar. |
du -xh --max-depth=1 / 2>/dev/null | sort -h | De grootte van de mappen in de root, gesorteerd vanaf de kleinste. Om te zoeken wat de schijf heeft gevuld. -x telt alleen de systeemschijf, 2>/dev/null verbergt meldingen over ontoegankelijke bestanden, sort -h sorteert op grootte. |
free -h | Het RAM-geheugen en de swap. Belangrijk is de kolom available. |
uptime | Hoe lang de VPS draait en de gemiddelde belasting over 1, 5 en 15 minuten. |
htop | Een live overzicht van processen, CPU en geheugen. De toets M sorteert op geheugen, P op CPU, q sluit af. Ontbreekt het: apt install htop. |
top | Een eenvoudigere variant van htop, die altijd is geïnstalleerd. |
ss -tulpn | De poorten waarop programma's luisteren. |
De opties van ss -tulpn: -t TCP, -u UDP, -l alleen luisterende poorten, -p de naam van het programma, -n nummers in plaats van namen. Het adres 0.0.0.0 of [::] betekent bereikbaar van buitenaf (als de firewall het doorlaat), 127.0.0.1 alleen binnen de VPS.
Netwerk#
| Commando | Wat het doet |
|---|---|
ip a | De IP-adressen van de netwerkinterfaces (ip -br a beknopt). |
ip r | De routeringstabel. De regel default via … is de standaardgateway. |
ping -c 4 1.1.1.1 | Een verbindingstest: 4 pakketten naar de server 1.1.1.1. |
curl -I https://example.cz | Haalt alleen de headers van een website op. Zo controleer je of de site antwoordt (HTTP/2 200). |
dig example.cz A +short | Zoekt het DNS-record van een domein op. Ontbreekt het: apt install bind9-dnsutils. |
Gebruikers#
| Commando | Wat het doet |
|---|---|
whoami | Als welke gebruiker je bent ingelogd. |
id jan | De groepen van de gebruiker jan. |
adduser jan | Maakt een gebruiker aan (zie Een nieuwe VPS beveiligen). |
passwd jan | Wijzigt het wachtwoord van de gebruiker jan (zonder naam het wachtwoord van de huidige gebruiker). |
sudo -i | Schakelt van een gewone gebruiker over naar root. |
exit | Logt je uit, of beëindigt sudo -i. |
Herstarten en uitschakelen#
| Commando | Wat het doet |
|---|---|
reboot | Herstart het systeem van de VPS. |
poweroff | Schakelt de VPS uit. Je zet hem alleen weer aan met de knop Starten op het tabblad Console. |
Na een upgrade van RAM of CPU is reboot niet genoeg, gebruik de knop Herstarten in je klantaccount (zie Console in de browser).
Spiekbriefje#
| Taak | Commando |
|---|---|
| Waar ben ik | pwd |
| Wat staat er in de map | ls -la |
| Naar een map gaan | cd /pad |
| Een bestand tonen | cat bestand / less bestand |
| Een bestand bewerken | nano bestand |
| Een log volgen | tail -f bestand.log |
| Kopiëren / verplaatsen | cp a b / mv a b |
| Verwijderen (definitief) | rm bestand / rm -r map |
| Rechten | chmod 644 bestand |
| Eigenaar | chown jan:jan bestand |
| Updates | apt update && apt full-upgrade |
| Installeren | apt install pakket |
| Status van een service | systemctl status service |
| Een service herstarten | systemctl restart service |
| Log van een service | journalctl -u service -f |
| Schijfruimte | df -h |
| Wat ruimte inneemt | du -sh /pad/* |
| Geheugen | free -h |
| Processen | htop |
| Open poorten | ss -tulpn |
| IP-adressen | ip -br a |
| Een commando afbreken | Ctrl+C |
Als iets niet werkt#
command not found#
Het programma is niet geïnstalleerd, of er zit een typfout in de naam. Ubuntu meldt vaak in welk pakket het programma zit (Command 'htop' not found, but can be installed with: apt install htop).
Permission denied#
Je hebt de rechten niet. Herhaal het commando als gewone gebruiker met sudo. Bij een script ontbreekt het recht om het uit te voeren: chmod +x skript.sh.
No such file or directory#
Het pad bestaat niet. Controleer het met de toets Tab (die vult alleen bestaande namen aan) en let op hoofdletters en kleine letters: Linux maakt onderscheid tussen Config.yml en config.yml.
E: Unable to locate package#
Voer eerst apt update uit. Blijft de fout bestaan, dan heet het pakket anders; zoek het met het commando apt search.
E: Could not get lock /var/lib/dpkg/lock-frontend #
Op de achtergrond loopt op dit moment een andere installatie (vaak automatische updates). Wacht een paar minuten en herhaal het commando.
No space left on device#
De schijf is vol. Zoek uit wat de ruimte inneemt (du -xh --max-depth=1 / 2>/dev/null | sort -h, daarna op dezelfde manier in de grootste map, bijvoorbeeld du -xh --max-depth=1 /var 2>/dev/null | sort -h), verwijder wat overbodig is (oude back-ups, logs), ruim de pakketten op (apt clean) en de oude regels van het journal (journalctl --vacuum-size=200M). Of vergroot de schijf.
Samenvatting
- Commando = programma, opties en argumenten; Tab vult aan, Ctrl+C breekt af.
- Bestanden:
ls,cd,cat,less,nano,cp,mv,rm(definitief!). - Pakketten:
apt update,apt install,apt full-upgrade. - Services:
systemctl status|restart|enable, logs metjournalctl -u service. - Resources:
df -h,du -sh,free -h,htop,ss -tulpn.