De oefeningen uit deze lessenreeks los je op met behulp van een Linux-shell. Start op je eigen computer een Linux-shell. Als dit gelukt is, dan mag je deze opdracht als gelezen markeren (onderaan deze pagina).
De manier waarop je een Linux-shell opstart verschilt van besturingssysteem tot besturingssysteem. Hieronder lees je hoe je dit kunt doen onder Windows, macOS en Linux. Volg deze instructies voor het besturingssysteem op jouw computer.
Microsoft Windows biedt sinds versie 10 ondersteuning voor Linux-shells onder de vorm van het Windows Subsystem for Linux1 (WSL). Met behulp van dit subsysteem kan je een Linux-distributie installeren en kan je de bijhorende Linux-shell gebruiken. Om van WSL gebruik te kunnen maken, moet je enkele stappen2 doorlopen:
Open PowerShell3 als administrator. Zoek daarvoor naar powershell
in je startmenu en klik rechts op het icoontje van PowerShell. In het contextmenu dat nu verschijnt, klik je op “Run as administrator” of “Als administrator uitvoeren”.
wsl --install
in de PowerShell en druk op enter. Het WSL wordt nu geactiveerd. Dit commando zal de meest recente versie van het Windows Subsystem for Linux activeren (versie 2) en installeert een standaarddistributie van Linux (in dit geval Ubuntu).Bestanden uitwisselen tussen Windows en Linux
Als je vanuit Windows toegang wil tot bestanden op Linux (via WSL), open dan een WSL-shell en typ
explorer.exe
. Dit opent de Windows Verkenner in de huidige directory van het WSL. Het bestandssysteem van de WSL-shell kan je ook terugvinden in de Windows verkenner.Omgekeerd, als je vanuit WSL toegang wil tot bestanden op Windows, open dan een WSL-shell en navigeer naar de directory
/mnt/
. Je zal hier alle Windows-schijven zien staan. DeC:
schijf zal je bijvoorbeeld terugvinden onder/mnt/c/
.
Linux-shell opstarten vanuit de Microsoft Verkenner
Deze handleiding4 leert je hoe je een snelkoppeling voor het opstarten van een Linux-shell kunt toevoegen aan het contextmenu van de Windows Verkenner. Dit opent WSL in de huidige directory van de Windows Verkenner.
Error: 0x80370114
Windows vereist dat het onderdeel
Windows Hypervisor Platform
is ingeschakeld. Wanneer je deze error krijgt, is dat hoogstwaarschijnlijk niet het geval. Om dit onderdeel in te schakelen, klik je opstart
, typWindows onderdelen
en klik vervolgens op de linkWindows onderdelen in- of uitschakelen
. In het venster dat opent, kan je vervolgens zoeken naarWindows Hypervisor Platform
en dit aanvinken. Hierna zal je computer herstarten en zou de error moeten verdwijnen.
macOS is zelf een op Unix gebaseerd besturingssysteem en biedt standaard al ondersteuning voor het uitvoeren van de meeste Linux-utilities via de commandolijn. Tot en met macOS versie 10.14 werd gebruikgemaakt van de Bash-shell, die we in deze lessenreeks zullen gebruiken. Vanaf versie 10.15 werd Bash standaard vervangen door Zsh, maar je kunt wel nog steeds scripts uitvoeren via Bash.
Dit vormt eigenlijk over het algemeen geen probleem voor de oefeningenlessen tot en met week 8. Op het moment dat we overschakelen naar het schrijven van shell scripts (vanaf week 9), is het belangrijk dat je steeds de juiste hashbang-regel gebruikt (#!/bin/bash
). Geen paniek als dit je nu nog niets zegt. Het wordt vanzelf duidelijk in de loop van het semester.
Om een shell in macOS te openen, dien je eigenlijk alleen maar de applicatie Terminal op te starten:
Druk op ⌘ + Spatie, typ terminal
en druk op enter.
Je zou nu een dergelijk venster moeten zien verschijnen:
Vanwege licentieproblemen zijn een heleboel van de utilities (grep
, sed
, vim
, …) die standaard aangeboden worden door macOS (en absoluut noodzakelijk zijn voor dit vak) sterk verouderd. Voor de meeste oefeningen tijdens de werkcolleges is dit geen probleem. Het kan wel voorkomen dat een aantal opties onder een andere vlag aangeboden worden of dat een optie niet beschikbaar is. Heb je toch een recentere versie van één van de utilities nodig, dan kan je een nieuwe versie installeren via Homebrew5.
Als je de standaard utilities op macOS wil vervangen door de GNU utilities, dan kan je daarvoor de volgende stappen doorlopen:
Installeer HomeBrew volgens de instructies op deze website6.
Installeer de meest populaire GNU utilities via HomeBrew door dit commando uit te voeren in je terminal:
brew install autoconf bash binutils coreutils diffutils ed findutils flex gawk \
gnu-indent gnu-sed gnu-tar gnu-which gpatch grep gzip less m4 make nano \
screen watch wdiff wget zip
Voeg de nieuwe utilities toe aan de PATH
-variabele van je systeem. Open daarvoor het bestand ~/.zshrc
(je kan hiervoor nano
gebruiken: nano ~/.zshrc
en plak onderaan dit bestand de volgende regels:
BREW_BIN="/usr/local/bin/brew"
if [ -f "/opt/homebrew/bin/brew" ]; then
BREW_BIN="/opt/homebrew/bin/brew"
fi
if type "${BREW_BIN}" &> /dev/null; then
export BREW_PREFIX="$("${BREW_BIN}" --prefix)"
for bindir in "${BREW_PREFIX}/opt/"*"/libexec/gnubin"; do export PATH=$bindir:$PATH; done
for bindir in "${BREW_PREFIX}/opt/"*"/bin"; do export PATH=$bindir:$PATH; done
for mandir in "${BREW_PREFIX}/opt/"*"/libexec/gnuman"; do export MANPATH=$mandir:$MANPATH; done
for mandir in "${BREW_PREFIX}/opt/"*"/share/man/man1"; do export MANPATH=$mandir:$MANPATH; done
fi
Herstart je terminal. Als je nu grep --version
uitvoert, dan zou je moeten kunnen zien dat dit de GNU versie is (die gecompileerd werd in 2023 of later).
Als je ooit terug de originele macOS utilities wil gebruiken, dan is het voldoende om de regels die je tijdens stap 3 hebt toegevoegd weer uit het ~/.zshrc
-bestand te verwijderen en je terminal te herstarten.
Als je al gebruikmaakt van Linux op jouw computer, dan hoef je enkel maar de applicatie Terminal te openen om in de Linux-shell terecht te komen.
Open het applicatieoverzicht door op de knop rechtsonder in de desktop te klikken. Typ terminal
en druk op enter.
Je zou nu het volgende venster moeten zien verschijnen: