Op het moment van schrijven heeft Linux een wereldwijd marktaandeel van 2,68% voor gewone desktops, maar meer dan 90% van alle cloudinfrastructuur en hostingdiensten gebruiken dit besturingssysteem. Alleen daarom al is het een goed idee om op de hoogte te zijn van de belangrijkste Linux opdrachten.
Volgens een enquête van StackOverflow, is Linux het meestgebruikte besturingssysteem door professionele developers, met een indrukwekkend marktaandeel van 55,9%. Dat is geen toeval. Linux is gratis en open source, heeft een betere beveiliging dan de concurrentie, en gebruikt een krachtige opdrachtregel waardoor developers en andere gevorderde gebruikers veel efficiënter kunnen werken. Je krijgt er ook een krachtige package manager bij, en een aantal handige development tools, zoals DevKinsta.
Of je nou een ervaren systeembeheerder bent of een beginner in Linux, deze gids kan je een hoop tijd besparen.
Aan de slag dus!
Wat is een Linux opdracht?
Een Linux opdracht, ook wel commando, is een programma of bewerking die uitgevoerd kan worden vanuit de opdrachtregel. Een opdrachtregel is een interface waarin je regels tekst of code kan invoeren, die omgezet worden naar instructies voor je computer.
Een Graphical User Interface (GUI) is eigenlijk vooral een visuele tussenstap naar een programma via een opdrachtregel, met wat meer gebruiksgemak en overzicht. Wanneer je bijvoorbeeld een venster sluit door op het kruisje te klikken, dan wordt er in feite gewoon een opdracht uitgevoerd op de achtergrond.
Een flag is een manier waarop we opties kunnen toevoegen aan opdrachten die we willen uitvoeren in Linux. De meeste Linux opdrachten hebben een eigen helppagina die je kan oproepen via de flag -h
. Meestal zijn flags optioneel.
Een argument of parameter is de input die je aan een opdracht geeft zodat alles goed uitgevoerd wordt. Meestal is het argument een bestandspad, maar in principe kan het alles zijn wat je in kan typen in de terminal.
Je kan flags aangeven door een verbindingsstreepje (-
) te gebruiken, of dubbele verbindingsstreepjes (--
). De uitvoering van argumenten is afhankelijk van de volgorde waarin je ze aan de functie doorgeeft.
De 40 meestgebruikte Linux opdrachten
Voordat we meteen doorgaan naar de meestgebruikte Linux opdrachten, moet je eerst een terminal starten. In de meeste Linux distributies kan je dat doen door op Ctrl + Alt + T te drukken. Als dat niet werkt, kan je in je toepassingen zoeken op “terminal”.
Nu is het dan tijd voor de 40 meest populaire Linux opdrachten. De meeste commando’s bieden verschillende opties die je eraan kan toevoegen, dus lees voor optimaal gebruik ook eens de handleiding voor opdrachten door.
1. ls
opdracht
ls
is waarschijnlijk de eerste opdracht die elke Linux gebruiker intypte in de terminal. Hiermee krijg je de inhoud van een locatie te zijn (standaard de huidige locatie), inclusief bestanden en mappen.
ls
Er zitten allerlei opties in, dus voer hier vooral eens de flag --help
bij in om te zien wat je er allemaal mee kan doen. Met de help-flag zie je alle flags die je kan gebruiken bij ls.
Zo kan je bijvoorbeeld de output van de ls
opdracht laten inkleuren, via de volgende opdracht:
ls --color=auto
De output van de ls
opdracht is nu gekleurd, zodat je veel makkelijker het verschil kan zien tussen een map en een bestand.
Maar het typen van de ls
regel met de flag ‘color’ is relatief inefficiënt, en daarom gebruiken we de opdracht alias
.
2. alias
opdracht
De opdracht alias
biedt de optie om tijdelijke aliassen, oftewel bijnamen, te definiëren in je shell-sessie. Bij het aanmaken van zo’n alias geef je de shell de opdracht om een woord te vervangen met één of meerdere opdrachten.
Om bijvoorbeeld het ls
commando van hierboven altijd gekleurd uit te laten voeren, zonder elke keer --color
te hoeven typen, zou je dit gebruiken:
alias ls="ls --color=auto"
Zoals je ziet kan je een key-value paar definiëren bij de alias
opdracht: alias NAME="VALUE"
. Let op dat je aanhalingstekens om de gewenste waarde zet.
Als je alle aliassen wilt zien die je in je huidige sessie gebruikt, dan kan je de opdracht alias
uitvoeren zonder argumenten.
alias
3. unalias
opdracht
Zoals de naam al doet vermoeden, doet de unalias
opdracht precies het tegenovergestelde, en verwijdert dus een alias
van de lijst met gedefinieerde aliassen. Om dus het vorige ls
alias te verwijderen, typ je:
unalias ls
4. pwd
opdracht
De pwd
opdracht is een afkorting voor “print working directory”, en geeft als output het absolute bestandspad van je huidige locatie. Als je gebruikersnaam bijvoorbeeld “john” is, en je zit in de map “Documents”, dan zou het absolute bestandspad dit zijn: /home/john/Documents
.
Om deze opdracht te gebruiken typ je gewoon pwd
in bij de terminal:
pwd
# My result: /home/kinsta/Documents/linux-commands
5. cd
opdracht
De cd
opdracht is echt heel erg populair, samen met de ls
opdracht. Het slaat op “change directory” en zorgt er dus inderdaad voor dat je naar de gewenste locatie gaat.
Als je bijvoorbeeld in je Documents map zit en je wil graag naar de submap Videos, dan zou je dit intypen:
cd Videos
Je kan ook een absoluut bestandspad van een map gebruiken:
cd /home/kinsta/Documents/Videos
Er zitten wat handige trucjes bij de cd
opdracht die je een hoop tijd kunnen besparen:
1) Ga naar de home map
cd
2) Ga een niveau omhoog
cd ..
3) Ga terug naar de vorige locatie
cd -
6. cp
opdracht
Het is zo makkelijk om bestanden en mappen te kopiëren in de Linux terminal dat het soms efficiënter is dan normale bestandsmanagers.
Om de opdracht cp
te gebruiken, typ je het in samen met de bronbestanden en doelbestanden:
cp file_to_copy.txt new_file.txt
Je kan ook hele mappen kopiëren door de herhalende flag (-r) te gebruiken:
cp -r dir_to_copy/ new_copy_dir/
Onthoud dat in Linux mappen altijd met een voorwaartse slash (/
) eindigen.
7. rm
opdracht
Nu je weet hoe je bestanden kan kopiëren, is het ook handig om te weten hoe je ze verwijdert.
Je kan de rm
opdracht gebruiken om zowel bestanden als hele mappen te verwijderen. Maar wees wel voorzichtig in het gebruiken, want het is erg moeilijk om bestanden terug te krijgen die je op deze manier hebt verwijderd.
Om een normaal bestand te verwijderen, typ je:
rm file_to_copy.txt
Als je een lege map wil verwijderen, gebruik je de herhalende (-r
) flag:
rm -r dir_to_remove/
Maar als je een map wil verwijderen waar nog iets in staat, moet je ook de force (-f) flag gebruiken om de bewerking af te dwingen:
rm -rf dir_with_content_to_remove/
8. mv
opdracht
Je kan de mv
opdracht gebruiken om bestanden te verplaatsen via het bestandssysteem. Je kan er ook een nieuwe naam mee toewijzen.
Om de opdracht te gebruiken, typ je de bron- en doelbestanden in:
mv source_file destination_folder/
mv command_list.txt commands/
Voor absolute bestandslocatie gebruik je dit:
mv /home/kinsta/BestMoviesOfAllTime ./
…waarbij ./
de huidige locatie is.
Je kan mv
ook gebruiken om bestanden een nieuwe naam te geven, zonder ze te verplaatsen:
mv old_file.txt new_named_file.txt
9. mkdir
opdracht
Om nieuwe mappen in de shell te maken, gebruik je de opdracht mkdir
. Geef gewoon de naam van de nieuwe map op, controleer dat deze nog niet bestaat, en klaar alweer.
Om bijvoorbeeld een map te maken waar je al je afbeeldingen opslaat, doe je dit:
mkdir images/
Om submappen te maken, kan je de parent flag (-p
) gebruiken:
mkdir -p movies/2004/
10. man
opdracht
Een andere belangrijke Linux opdracht is man
. Hierdoor krijg je de pagina in de handleiding (manual) van een opdracht te zien, als die bestaat.
Wil je bijvoorbeeld de pagina over mkdir
zien, dan typ je:
man mkdir
Je kan zelfs de pagina over man
bekijken:
man man
11. touch
opdracht
De touch
opdracht biedt de mogelijkheid om de tijden te veranderen waarop bepaalde bestanden voor het laatst geopend of gewijzigd zijn.
Hieronder als voorbeeld een bestand dat voor het laatst gewijzigd is op 12 april:
Om de datum van laatste wijziging naar nu te veranderen, kunnen we de -m flag gebruiken:
touch -m old_file
Nu is de datum veranderd naar de dag waarop ik deze bewerking uitvoerde (in dit geval 8 augustus).
Maar meestal zal je touch
niet gebruiken om alleen een datum aan te passen, maar om nieuwe, lege bestanden aan te maken:
touch new_file_name
12. chmod
opdracht
De chmod
opdracht maakt het mogelijk om snel de mode van een bestand, en daarmee de toegangsrechten, aan te passen. Er zitten een hoop mogelijkheden achter.
De standaard rechten die een bestand kan hebben zijn:
- r (read, lezen)
- w (write, schrijven)
- x (execute, uitvoeren)
Eén van de meest gebruikte toepassingen voor chmod
is om een bestand uitvoerbaar te maken voor een gebruiker. Om dit te doen typ je chmod
en de flag +x
, gevolgd door het bestand waarvoor je de toegangsrechten wil aanpassen:
chmod +x script
Hiermee kan je scripts bijvoorbeeld uitvoerbaar maken, waardoor je ze direct kan uitvoeren door ./
te gebruiken.
13. ./
opdracht
De ./
notatie is eigenlijk geen echte opdracht, maar is zeker het noemen waard. Hiermee kan je de shell een uitvoerbaar bestand laten uitvoeren met een interpreter op je systeem, meteen vanuit de terminal. Je hoeft dus niet meer steeds te dubbelklikken in een grafische bestandenmanager.
Met deze opdracht kan je bijvoorbeeld een Python script of programma uitvoeren dat alleen beschikbaar is in een .run format, zoals XAMPP. Wanneer je een ‘executable’ uitvoert, let er dan op dat het rechten voor uitvoeren (x) heeft, die je eventueel kan aanpassen via de vorige chmod
opdracht.
Hier een eenvoudig Python script, en hoe je dat zou kunnen uitvoeren met de ./
notatie:
#! /usr/bin/python3
# filename: script
for i in range(20):
print(f"This is a cool script {i}")
Zo zouden we dat omzetten in een uitvoerbaar bestand en het dan ook uitvoeren:
chmod +x script
./script
14. exit
opdracht
De exit
opdracht doet precies wat je zou verwachten: je kan er een shell sessie mee beëindigen en in de meeste gevallen ook automatisch de terminal die je gebruikt afsluiten:
exit
15. sudo
opdracht
Deze opdracht is de afkorting voor “superuser do”, en hiermee kan je bij een specifieke opdracht als superuser of root user werken. Dit is hoe Linux zichzelf beschermt en voorkomt dat gebruikers het bestandssysteem zelf aanpassen of verkeerde pakketten installeren.
Sudo wordt veel gebruikt voor het installeren van software of om bestand buiten de home map van de gebruiker aan te passen:
sudo apt install gimp
sudo cd
/root/
Je zal gevraagd worden om het admin-wachtwoord voordat de opdracht uitgevoerd wordt.
16. shutdown
opdracht
Zoals je wellicht kan raden, kan je met de shutdown
opdracht je computer uitzetten. Maar je kan de computer er ook mee laten pauzeren of opnieuw opstarten.
Om de computer meteen uit te zetten (de standaardoptie is één minuut wachten), typ je:
shutdown now
Je kan het uitschakelen ook inplannen, via een 24-uurs format:
shutdown 20:40
Om een eerdere shutdown
opdracht te annuleren, kan je de -c
flag (cancel) gebruiken:
shutdown -c
17. htop
opdracht
htop
is een interactieve manier om processen te bekijken, waarmee je de capaciteit van je computer direct vanuit de terminal kan beheren. Over het algemeen is dit niet meteen geïnstalleerd, dus wellicht moet je eerst even langs de downloadpagina.
htop
18. unzip
opdracht
De unzip opdracht maakt het mogelijk om de inhoud van een .zip bestand uit te pakken vanaf de terminal. Ook deze opdracht is niet standaard geïnstalleerd, maar dit kan je eenvoudig regelen via je package manager.
Hier pakken we een .zip bestand vol afbeeldingen uit:
unzip images.zip
19. apt
, yum
, pacman
opdrachten
Welke Linux distributie je ook gebruikt, je zal vast een package manager gebruiken voor het installeren, updaten en verwijderen van je verschillende programma’s.
Je kan deze package managers ook gebruiken via de opdrachtregel. Welke je precies gebruikt hangt af van je Linux versie af.
De volgende voorbeelden installeren GIMP, een gratis en open source programma dat beschikbaar is in de meeste package managers:
Debian-based (Ubuntu, Linux Mint)
sudo apt install gimp
Red Hat-based (Fedora, CentOS)
sudo yum install gimp
Arch-based (Manjaro, Arco Linux)
sudo pacman -S gimp
20. echo
opdracht
De echo
opdracht geeft gewoon wat tekst weer in de terminal, meer niet:
echo "Cool message"
De meest handige toepassing is vooral het printen van omgevingsvariabelen binnen dergelijke berichten:
echo "Hey $USER"
# Hey kinsta
21. cat
opdracht
Cat
, de afkorting voor “concatenate”, oftewel samenvoegen, maakt het mogelijk om bestanden te maken, bekijken en samen te voegen vanaf de terminal. Het is vooral handig om een voorbeeld van een bestand te bekijken zonder een grafische tekstbewerker te hoeven openen:
cat long_text_file.txt
22. ps
opdracht
Met ps
kan je naar de processen kijken die er momenteel in je shell sessie uitgevoerd worden. Hiermee krijg je handige informatie te zien over programma’s die uitgevoerd worden, zoals het proces ID, TTY (TeleTYpewriter), tijd en opdrachtnaam.
ps
Mocht je iets zoeken dat meer interactief is, dan kan je htop
gebruiken.
23. kill
opdracht
Wanneer een programma niet meer reageert, en je het niet meer kan sluiten, is dat nogal irritant. Gelukkig kan de kill
opdracht dergelijke problemen voor je oplossen.
Technisch gezien verstuurt kill
een TERM of kill signaal naar een proces, waardoor dit beëindigd wordt.
Je kan processen beëindigen door het proces ID (PID) of de binaire naam op te
kill 533494
kill firefox
Wees wel voorzichtig met deze opdracht, met kill
wordt een programma direct beëindigd, en kan je dus onopgeslagen werk verliezen.
24. ping
opdracht
ping
is een handige toepassing om de netwerkverbinding te testen. ping
heeft een heleboel opties, maar in de meeste gevallen zal je het gebruiken voor een verzoek naar een domein of IP-adres:
ping google.com
ping 8.8.8.8
25. vim
opdracht
vim
is een gratis en open source tekstbewerker die al sinds de jaren 90 gebruikt wordt. Je kan hiermee eenvoudig tekstbestanden bewerken met efficiënte sneltoetsen.
Sommige mensen vinden het te moeilijk om te gebruiken, zo is Vim afsluiten één van de meest bekeken vragen op StackOverflow, maar wanneer je er eenmaal gewend aan bent, gaat het je enorm veel tijd besparen.
Om Vim te starten in de opdrachtregel, typ je:
vim
26. history
opdracht
Als je niet meer zo goed weet wat je de afgelopen tijd gedaan hebt, dan is history
handig om te gebruiken. Met deze opdracht krijg je een lijst te zien met de opdrachten die je recent gebruikt hebt:
history
27. passwd
opdracht
Met passwd
kan je wachtwoorden wijzigen van gebruikers. Allereerst wordt je gevraagd om je huidige wachtwoord, vervolgens om een nieuw wachtwoord en bevestiging daarvan.
Het werkt dus net zoals het wijzigen van elk wachtwoord overal online, maar nu doe je het direct vanuit je terminal:
passwd
Wees er wel voorzichtig mee, want je gebruikerswachtwoord wil je niet kwijtraken!
28. which
opdracht
De which
opdracht geeft een volledig pad met shell opdrachten. Als een bepaalde opdracht niet herkend wordt, krijg je een foutmelding.
Zo kunnen we dit bijvoorbeeld gebruiken om het binaire pad voor Python en de Brave browser te controleren:
which python
# /usr/bin/python
which brave
# /usr/bin/brave
29. shred
opdracht
Als je een bestand nagenoeg onmogelijk te herstellen wil maken, dan kan shred
je helpen. Met deze opdracht wordt de inhoud van een bestand meerdere keren overschreven, waardoor het bestand bijna niet te herstellen is.
Hier een bestand met weinig inhoud:
Nu laten we shred
erop los met de volgende opdracht:
shred file_to_shred.txt
Als je daarna het bestand ook meteen wil verwijderen, kan je de -u
flag gebruiken:
shred -u file_to_shred.txt
30. less
opdracht
less
(als tegenovergestelde van more) is een programma dat bestanden voorwaarts en achterwaarts laat inspecteren:
less large_text_file.txt
Het mooie aan less
is dat er andere opdrachten en vim
opdrachten in de interface zitten. Als je iets zoekt dat interactiever is dan cat
, dan is less
een goede keuze.
31. tail
pdracht
Net als bij cat
, zorgt tail
ervoor dat de inhoud van een bestand getoond wordt, met één groot verschil: je krijgt alleen de laatste regels te zien. Standaard worden de laatste 10 regels getoond, maar dat kan je wijzigen met de -n
flag.
Als je bijvoorbeeld de laatste regels van een groot bestand wil zien, gebruik je dit:c
tail long.txt
En om alleen de laatste vier regels te bekijken:
tail -n 4 long.txt
32. head
opdracht
Complementair aan de vorige tail
opdracht. head
laat de eerste 10 regels van een tekstbestand zien, maar je kan ook hierbij het aantal regels veranderen met de -n
flag.
head long.txt
head -n 5 long.txt
33. grep
opdracht
Grep is één van de meest krachtige toepassingen voor het werken met tekstbestanden. Het zoekt naar regels die passen bij een reguliere expressie en print die regels:
grep "linux" long.txt
Je kan tellen hoe vaak het patroon herhaald wordt met de -c
flag:
grep -c "linux" long.txt
# 2
34. whoami
opdracht
De whoami
opdracht (oftewel “wie ben ik”) geeft de huidige gebruikersnaam weer:
whoami
# kinsta
Je krijgt hetzelfde resultaat als bij echo
en de omgevingsvariabele $USER:
echo $USER
# kinsta
35. whatis
opdracht
whatis
geeft een omschrijving van één regel van een andere opdracht, wat een erg handige referentie is:
whatis python
# python (1) - an interpreted, interactive, object-oriented programming language
whatis whatis
# whatis (1) - display one-line manual page descriptions
36. wc
opdracht
wc staat voor “word count”, en geeft dan ook het aantal woorden in een tekstbestand:
wc long.txt
# 37 207 1000 long.txt
We kijken naar de onderdelen van deze opdracht:
- 37 regels
- 207 woorden
- 1000 bytesize
- De bestandsnaam (long.txt)
Als je alleen het aantal woorden nodig hebt, gebruik je de -w
flag:
wc -w long.txt
207 long.txt
37. uname
opdracht
uname
(afkorting voor “Unix name”) geeft informatie over het huidige besturingssysteem, handig om je huidige Linux versie te achterhalen.
Meestal zal je dan ook de -a
(all) flag gebruiken, omdat de standaardoutput niet supernuttig is:
uname
# Linux
uname -a
# Linux kinstamanjaro 5.4.138-1-MANJARO #1 SMP PREEMPT Thu Aug 5 12:15:21 UTC 2021 x86_64 GNU/Linux
38. neofetch
opdracht
Neofetch is een command-line interface(CLI) tool met informatie over je systeem, zoals de kernelversie, shell en hardware, naast een mooi ASCII logo van je Linux distro:
neofetch
Bij de meeste computers is deze opdracht niet standaard beschikbaar, en moet je het eerst installeren via je package manager.
39. find
opdracht
De find
opdracht zoekt naar bestanden binnen een map op basis van een regex uitdrukking. Je gebruikt hiervoor de volgende syntax:
find [flags] [path] -name [expression]
Om een bestand te zoeken met de naam long.txt in de huidige map, voer je dit in:
find ./
-name "long.txt" # ./long.txt
Om te zoeken naar bestanden met een .py bestandsformat, kan je deze opdracht gebruiken:
find ./
-type f -name "*.py" ./get_keys.py ./github_automation.py ./binarysearch.py
40. wget
Copdracht
wget
(World Wide Web get) is een toepassing om content van het internet op te halen. Het heeft ook één van de grootste collectie aan flags.
Zo zou je een Python bestand van een GitHub repo downloaden:
wget https://raw.githubusercontent.com/DaniDiazTech/Object-Oriented-Programming-in-Python/main/object_oriented_programming/cookies.py
Cheatsheet voor Linux opdrachten
Wanneer je alleen een kort overzicht nodig hebt, kan je onderstaande tabel gebruiken:
Opdracht | Toepassing |
---|---|
ls |
Lijst met de inhoud van een map |
alias |
Definieer of toon aliassen |
unalias |
Verwijder alias definities |
pwd |
Toon de huidige werklocatie |
cd |
Verander de locatie |
cp |
Kopieer bestanden en mappen |
rm |
Verwijder bestanden en mappen |
mv |
Verplaats (of hernoem) bestanden en mappen |
mkdir |
Maak mappen |
man |
Toon de hulppagina van een opdracht |
touch |
Maak lege bestanden |
chmod |
Veranderen van bestandsrechten |
./ |
Voer een bestand uit |
exit |
Sluit de huidige sessie |
sudo |
Voer een opdracht uit als superuser |
shutdown |
Sluit de computer af |
htop |
Toon processen en capaciteit |
unzip |
Uitpakken van ZIP bestanden |
apt , yum , pacman |
Package managers |
echo |
Toon regels tekst |
cat |
Print inhoud van een bestand |
ps |
Toon shell processen |
kill |
Sluit programma’s |
ping |
Test netwerkverbinding |
vim |
Efficiënte tekstverwerker |
history |
Toon een lijst met vorige opdrachten |
passwd |
Verander wachtwoord |
which |
Toon volledige binaire pad van een programma |
shred |
Overschrijf een bestand om de inhoud te verbergen |
less |
Interactief bekijken van bestanden |
tail |
Toont de laatste regels van een bestand |
head |
Toont de eerste regels van een bestand |
grep |
Zoeken op regels |
whoami |
Toont de gebruikersnaam |
whatis |
Toont omschrijving van één regel |
wc |
Woorden tellen |
uname |
Toont informatie over besturingssysteem |
neofetch |
Toont informatie over besturingssysteem en hardware |
find |
Zoek op bestanden volgens een patroon |
wget |
Haal bestanden online op |
Samenvatting
Het kan even duren om Linux te leren gebruiken, maar als je er eenmaal mee overweg kan, wordt het je beste vriend.
Eén van de mooiste dingen aan Linux is dat je zelfs als ervaren gebruiker altijd nog nieuwe dingen kan leren om nog productiever te worden.
Er zijn nog veel meer handige Linux opdrachten. Als we nog belangrijke opdrachten gemist hebben, laat jouw ideale Linux opdracht dan achter in de reacties hieronder!
Veelgestelde vragen over Linux commando’s
Wat is het basiscommando van Linux?
Er is eigenlijk een reeks basiscommando’s die perfect zijn voor iedereen die met Linux begint:
- pwd (Geeft de werkdirectory weer)
- cat ( print de inhoud van bestanden)
- cp (Kopieert bestanden en mappen)
- mv (Verplaatst en hernoemt bestanden en mappen)
- rm (Verwijdert bestanden en mappen)
- touch (Maakt lege bestanden aan)
- mkdir (Maakt mappen aan)
Hoe veel commando’s heeft Linux?
Er zijn duizenden commando’s (en er worden dagelijks nieuwe geschreven). Maar maak je geen zorgen: je hoeft ze niet te onthouden. Je kunt ze altijd online opzoeken.
Kun je jezelf Linux leren?
Het is mogelijk. Je kunt online goede bronnen vinden om je op weg te helpen. Maar als je een steuntje in de rug nodig hebt, zijn hier enkele goed aanbevolen cursussen:
Laat een reactie achter