Naar de inhoud

Blog overzicht

Werken met de Linux-terminal voor beginners

Ga direct naar


Als je een VPS (Virtual Private Server) afneemt, kom je niet om de Linux-terminal-interface (CLI) heen. Of je nu software wilt installeren, een firewall gaat configureren of gebruikers beheren, een VPS bedien je door te typen in een terminal. Sterker nog: een grafische schil zit standaard niet op een VPS.

Heb je nog nooit met de Linux-terminal gewerkt? Schuif je muis aan de kant en leg je toetsenbord goed recht, dan laten wij je de basis zien.

Waarom typen als het grafisch ook kan?

Ervaren beheerders zijn, gemiddeld genomen, gek op de terminal. Als je net begint, vraag je je waarschijnlijk af waarom. Typen in een wereld vol prachtige grafische interfaces, dat is toch ouderwets? Er zijn meerdere goede redenen waarom dat niet zo is. Werken met de Linux-terminal is:

Sneller en efficiënter
Geknipt voor servers en netwerken
Lichter op systeembronnen
Eenvoudig te automatiseren
Universeel toepasbaar

Sneller en efficiënter

Veel taken kun je sneller en efficiënter afhandelen met de terminal. Om maar een dwarsstraat te noemen: alle jpeg-bestanden in een map selecteren met de muis kost meer tijd dan gewoon *.jpeg intypen. In Linux installeer je complete omgevingen met één of enkele commando’s. Je kunt razendsnel een specifiek stukje tekst in meerdere bestanden zoeken, gebruikersrechten toekennen (of intrekken) en je systeem analyseren.

Geknipt voor servers en netwerken

Het besturingssysteem Unix, de inspiratiebron voor Linux, is gebouwd om computernetwerken te beheren. De terminal biedt je direct toegang tot commando’s om machines te koppelen, netwerkgegevens op te vragen, logbestanden te analyseren en overzicht te houden op meerdere systemen.

Lichter op systeembronnen

Werken met tekst vergt aanzienlijk minder systeembronnen dan een grafische interface. Als je efficiënt met je digitale middelen wilt omgaan, is de terminal de beste keuze. Je verspilt geen processorkracht of geheugen aan overbodige visuele elementen.

Eenvoudig te automatiseren

Taken plannen is een belangrijk onderdeel van serverbeheer. Als je nog niet weet wat ‘cronjobs’ zijn, dan verandert dat snel. Ook het automatisch back-uppen, synchroniseren van bestanden of uitvoeren van standaardtaken gaat soepel. Gebruik je een reeks commando’s vaak? In een handomdraai maak je een script. Dat spaart typewerk; zeker als je het vervolgens automatisch uit laat voeren.

Universeel toepasbaar

De ene Linux is de andere niet, maar de terminal is in principe overal gelijk. Basisopdrachten die in Ubuntu werken, doen het ook in Debian, CentOS, ArchLinux en ga zo maar door. Sterker nog: Windows Powershell herkent veel van deze commando’s ook (zolang je maar geen scripts probeert te draaien). Je hebt daarom bijna overal plezier van jouw terminal-kennis.

Aan de slag met de terminal

Als je bij ons een VPS met Linux afneemt, dan raden wij je aan om via SSH (Secure Shell) in te loggen. Met je gebruikersnaam en wachtwoord krijg je toegang tot de terminal van jouw server. Voordat je met specifieke opdrachten in de weer gaat, zijn hier wat algemene basiscommando’s (en -principes).

Basiscommando’s (en -principes)

Meer voor elkaar krijgen? Gebruik sudo!

In Linux werk je met gebruikersaccounts die meer of minder rechten hebben. Bovenaan staat root: de gebruiker die alles mag. Om veiligheidsredenen kun je bij gebruik van tools als DirectAdmin, Plesk en cPanel niet via SSH inloggen als root. Dat is overigens maar goed ook — één verkeerd commando, en je server is zonder waarschuwing kapot.

Heb je toch beheerdersrechten nodig? Typ dan sudo (super user do) voor je commando. Daarmee geef je het systeem opdracht om de taak met verhoogde rechten uit te voeren.

Typ bijvoorbeeld:

sudo apt update && sudo apt upgrade

Hiermee geef je opdracht aan Advanced Package Tool (apt) om de lijst met beschikbare pakketten te updaten en daarna alle geïnstalleerde pakketten te upgraden. Het commando na && voert Linux uit als het vorige commando succesvol is afgerond.

In de war? Man staat voor je klaar

Man staat voor manual (handleiding). Als je voor een commando man ingeeft, krijg je van Linux uitleg over het commando, een overzicht van mogelijke opties en wat voorbeelden van het gebruik ervan.

Pipeline en less

De uitleg van man kan langer zijn dan je scherm aankan. Wil je niet dat alles in één keer voorbijschiet? Gebruik dan een | gevolgd door less. Het verticale streepje | boven de backslash \ op je toetsenbord wordt in Linux een pipeline genoemd.

Een commando met pipeline ziet er bijvoorbeeld zo uit:

man apt | less

Met de pipeline stuur je de uitvoer van het eerste commando (man apt) naar het tweede (less). Less zorgt ervoor dat de tekst niet in één keer over je scherm rolt, maar pagina voor pagina verschijnt. Het systeem wacht tot jij op een toets drukt om verder te gaan.

Ik typ alles correct, maar Linux luistert niet!

Maak jij geen typfouten, maar luistert Linux niet? Dan ben je waarschijnlijk aan een Windows-omgeving gewend. De opdrachtregels van Microsoft (CMD, PowerShell) kijken niet naar hoofdletters. Linux doet dat wel. Typ je bijvoorbeeld Man apt , man Apt of man apt | Less, dan krijg je een foutmelding. Linux maakt zowel bij commando’s als bij bestandsnamen onderscheid tussen hoofd- en kleine letters. Zo kunnen voorbeeld.txt en Voorbeeld.txt probleemloos naast elkaar bestaan in dezelfde map. Hou daar rekening mee als je commando’s typt.

Snel herhalen

Wil je een commando opnieuw uitvoeren, of snel een tikfout herstellen? Met de pijltjestoetsen omhoog en omlaag doorloop je de commando’s die je al hebt ingevoerd. Gebruik links en rechts om binnen de regel te bewegen en je tikfout te herstellen. Wil je alles zien wat je recent hebt getypt? Gebruik history om een genummerde lijst te krijgen. Geef !<nummer> (met het juiste nummer op de plaats van <nummer>) om dat commando te herhalen. Met !42 voer je bijvoorbeeld commando nummer 42 opnieuw uit.

Snelle en efficiënte Linux-commando’s

Lijst van bestanden tonen

Typ ls (dat staat voor list) om snel een overzicht te krijgen van alle bestanden in je huidige map. Met opties en toevoegingen kun je ls op veel manieren gebruiken. Hier zijn een paar voorbeelden:

ls /etc geeft de inhoud van de map /etc weer;
ls -a laat ook verborgen bestanden zien;
ls *.txt toont alle bestanden die eindigen op .txt.

Door je mappen navigeren

Met cd (change directory) navigeer je door de mappenstructuur van je VPS. Als je op de Tab-toets drukt vult Linux jouw locatie automatisch aan. Probeer ook eens:

cd .. om één map omhoog te gaan;
cd ~ brengt je terug naar je home-directory;
cd - springt terug naar de vorige map waar je was.

Mappen en bestanden verwijderen

Met rm (remove), gevolgd door een bestandsnaam of wildcard (zoals * voor ‘alles’), verwijder je bestanden. Voeg je de optie -r toe, dan verwijder je ook mappen (en alles wat erin zit). De optie -f schakelt de bevestigingsvraag uit.

rm *.bak verwijdert alle bestanden met de extensie .bak in je huidige map;
rm -r Testmap verwijdert de map Testmap;
rm -rf * verwijdert alle niet-verborgen bestanden en onderliggende mappen in je huidige map;
sudo rm -rf / --no-preserve-root verwijdert alles op je systeem. Doe dit nooit!

Linux commando’s voor servers en netwerken

Netwerkverbindingen zien

Met netstat (network statistics) zie je open poorten, actieve verbindingen en luisterende services op jouw server.

netstat -tuln toont luisterende poorten (TCP/UDP) zonder hostnamen;
netstat -an geeft een overzicht van álle verbindingen en luisterpoorten;
netstat -p toont welke processen gekoppeld zijn aan netwerkverbindingen.

Tip: op sommige systemen is netstat vervangen door ss.

Netwerkverkeer volgen

Met traceroute volg je het pad van jouw netwerkverkeer naar een ander IP-adres of domein en kun je vertragingen of blokkades achterhalen. Op sommige Linux-installaties moet je traceroute eerst installeren voor je het kunt gebruiken.

traceroute google.com toont via welke knooppunten verkeer richting Google loopt;
traceroute -n laat IP-adressen zien in plaats van hostnamen (sneller);

Poorten scannen met nmap

Met nmap (network mapper) zie je welke poorten op jouw server open staan richting de buitenwereld.

nmap localhost scant je eigen server op open poorten;
nmap -sV toont ook welke services draaien achter de poorten.

Commando’s om systeembronnen te beheren

Actieve processen bekijken

Met ps (process status) zie je de processen die op je server draaien en kun je bijvoorbeeld vastlopers opsporen.

ps toont processen in je huidige shell;
ps aux geeft een overzicht van álle processen met gebruik van CPU, geheugen, PID en meer;

Processen beëindigen

Met kill, gevolgd door een proces-ID (PID), beëindig je een actief proces. In combinatie met ps kun je zo vastlopers oplossen.

kill 1234 stopt het proces met ID 1234;

Schijfruimte per map bekijken

Met du (disk usage) zie je hoeveel ruimte bestanden en mappen in beslag nemen.

du -sh * toont hoeveel ruimte elke map of bestand in de huidige map gebruikt;
du -sh /var toont de totale grootte van de map /var;

Eenvoudig automatiseren met Linux-commando’s

Bestanden synchroniseren

Met rsync synchroniseer je bestanden tussen twee locaties. Het is onder meer handig om back-ups te maken.

rsync -av /home/user/ /home/doel/ synchroniseert de inhoud van de map /home/user/ met de map /home/doel/;
rsync -avz bestand.txt gebruiker@server:/pad/ stuurt een bestand naar een externe server via SSH;

Taken plannen

Met crontab kun je commando’s automatisch per minuut, uur, dag, weekdag of maand laten uitvoeren.

• crontab -e opent de planner voor de huidige gebruiker;

• crontab -l toont je geplande taken.

Universeel toepasbare Linux-commando’s

Nieuwe, lege bestanden aanmaken

Met touch maak je snel een leeg bestand aan.

touch test.txt maakt een leeg bestand met de naam test.txt;
touch bestand1 bestand2 maakt meerdere bestanden tegelijk aan;

Tekst weergeven

Met echo geef je tekst weer op jouw scherm of plaats je het in een bestand.

echo "Hallo wereld" toont Hallo wereld op je terminal;
echo "regel tekst" > bestand.txt schrijft regel tekst in bestand.txt (en vervangt de huidige inhoud);
echo "toevoeging" >> bestand.txt voegt toevoeging toe aan het einde van bestand.txt.

De inhoud van een bestand weergeven of gebruiken

Met cat (van concatenate) kun je de inhoud van een bestand weergeven of direct gebruiken met een ander commando.

cat bestand.txt toont de inhoud van een bestand.txt;
cat bestand1.txt bestand2.txt > samen.txt combineert de inhoud van bestand1.txt en bestand2.txt in samen.txt;
cat script.sh | bash leest de inhoud van script.sh en voert die via bash direct uit.

Werk snel en handig met de Linux-terminal

Typen in plaats van klikken lijkt een stap terug in de tijd. In werkelijkheid is niets zo handig én snel als werken met de Linux-terminal. Ga je een VPS met Linux beheren? Houd dit overzicht bij de hand, vergeet man niet en voor je het weet, geef jij ook de voorkeur aan een toetsenbord boven muis of touchscreen.


Beoordeel dit artikel

Deel dit artikel

Gerelateerde artikelen

Blog overzicht

Auteur: TIP-redactie

Is de auteursnaam die we gebruiken wanneer een blogpost in teamverband door meerdere TransIP’ers is samengesteld. Denk bijvoorbeeld aan een eventverslag of onze Recommends.