Ga naar hoofdinhoud

5.2 Windows en Linux naast elkaar

Hier bouw je op verder: WSL en Ubuntu installeren en Absolute paden en cd

Weet je dit niet meer zeker? Lees het terug voordat je verdergaat.

in heeft een eigen bestandsboom, met een eigen : /home/<jouw naam>. Dat is een andere map dan je Windows-map met Documenten en Bureaublad. Toch kunnen de twee bij elkaar.

Vanuit Linux naar Windows​

Je C-schijf hangt in Linux onder /mnt/c. Typ in Ubuntu:

ls /mnt/c/Users

Je ziet de gebruikers van je Windows-computer. Je Bureaublad is bijvoorbeeld /mnt/c/Users/Sam/Desktop. Neem de namen over zoals ze in de lijst staan.

Vanuit Windows naar Linux​

Typ in Ubuntu:

explorer.exe .

De Verkenner van Windows opent, in de map waar je in Linux stond. De punt is "de map waar ik nu ben", net als in 1.2. Links in de Verkenner zie je voortaan ook Linux, met je Ubuntu erin.

Voorspel​

Je maakt in Ubuntu een bestand met echo hallo > ~/groet.txt. Staat dat op je Windows-bureaublad?

Klik hier als je het hebt geprobeerd

Nee. ~ is je Linux-thuismap, /home/<jouw naam>, en die staat los van Windows. Je vindt het bestand in de Verkenner onder Linux, Ubuntu-24.04, home, je naam.

Waar zet je je projecten?​

Zet een project waar je in Linux aan werkt, in je Linux-thuismap, niet onder /mnt/c. Linux-programma's werken veel trager op de Windows-schijf, en de uit 4.1 werken daar niet zoals je verwacht.

Met VS Code werk je dan zo: installeer in VS Code de extensie WSL (van Microsoft), ga in Ubuntu naar je project en typ:

code .

VS Code opent op je Windows-scherm, maar werkt met de bestanden en de van Linux. Linksonder staat WSL: Ubuntu-24.04.

Een website in Linux, de browser in Windows​

Een programma in WSL dat een website maakt, zie je in je browser op Windows. Probeer het met de kleine webserver die in Python zit:

mkdir -p ~/proef
cd ~/proef
echo "<h1>Hallo uit Linux</h1>" > index.html
python3 -m http.server 8000

Open in je browser http://localhost:8000. Je ziet de kop uit index.html. In de terminal verschijnt bij elk bezoek een regel. Stop de met Ctrl+C.

Opdracht 5.2.a: van Windows naar Linux​

  1. Zet op je Windows-bureaublad een tekstbestand boodschap.txt met een zin erin (met Kladblok).
  2. Kopieer het in Ubuntu naar je Linux-thuismap.
  3. Laat de inhoud zien met cat.
Klik hier voor een tip

Zoek eerst met ls /mnt/c/Users hoe je Windows-naam precies is. Kopiëren naar je thuismap kan met ~ als doel.

Klik hier voor het antwoord

Met Sam als Windows-naam:

cp /mnt/c/Users/Sam/Desktop/boodschap.txt ~
cat ~/boodschap.txt

Staat je bureaublad in OneDrive, dan is het /mnt/c/Users/Sam/OneDrive/Desktop/boodschap.txt, of Bureaublad in plaats van Desktop.

Er gaat iets mis​

Command 'code' not found​

Command 'code' not found, but can be installed with:
sudo snap install code

Oorzaak: VS Code staat niet op Windows, of Ubuntu was al open toen je het installeerde. Ubuntu weet dan alleen dat er een Linux-versie van VS Code bestaat, en stelt die voor.

Oplossing: volg die suggestie niet: je wilt de VS Code van Windows, met de extensie WSL. Installeer VS Code op Windows, sluit Ubuntu en open hem opnieuw.

Een pad met een spatie​

ls: cannot access '/mnt/c/Users/Sam/Mijn': No such file or directory
ls: cannot access 'bestanden': No such file or directory

Oorzaak: een spatie scheidt in de terminal de stukken van een . ls /mnt/c/Users/Sam/Mijn bestanden zijn voor Linux twee paden.

Oplossing: zet het pad tussen aanhalingstekens.

# FOUT
ls /mnt/c/Users/Sam/Mijn bestanden

# GOED
ls "/mnt/c/Users/Sam/Mijn bestanden"

Door naar 5.3 Hulp vragen.