Oefeningen op de CLI
De gegeven oplossingen zijn EEN mogelijke oplossing, soms zijn meerdere mogelijkheden juist. Is het gewenste gedrag bereikt, dan is je oplossing correct!
Oefeningenreeks 1
- Toon het pad van de huidige werkdirectory.
Solution: $ pwd
- Maak een nieuw leeg bestand genaamd
nieuwbestand.txt.
Solution: $ touch nieuwbestand.txt
- Maak een nieuwe directory genaamd
testmap.
Solution: $ mkdir testmap
- Verwijder een bestand genaamd
nieuwbestand.txt.
Solution: $ rm nieuwbestand.txt
- Voeg de tekst “Hallo, wereld!” toe aan de terminaloutput.
Solution: $ echo "Hallo, wereld!"
- Navigeer naar je
homedirectory.
Solution: $ cd ~
- Wis de output van je terminal.
Solution: $ clear
- Bekijk de handleiding voor het commando dat bestanden en directories weergeeft.
Solution: $ man cd
- Toon de inhoud van de huidige directory.
Solution: $ ls
- Open het bestand
nieuwbestand.txtin een teksteditor en voeg de tekst “Dit is een test.” toe. Sla het bestand op en sluit de editor.
Solution:
- Toon de inhoud van
nieuwbestand.txtin de terminal.
Solution: $ cat nieuwbestand.txt
- Maak een nieuw directory genaamd
project, navigeer naar deze directory, en maak een nieuw bestand genaamdREADME.md.
Solution:
- Maak een nieuw bestand genaamd
info.txt, voeg de tekst “Dit is een informatief bestand.” toe, en toon de inhoud van het bestand.
Solution:
- Maak een nieuw directory genaamd
backup, kopieer het bestandinfo.txtnaar de backup-directory, en verwijder vervolgens het origineleinfo.txt-bestand.
Solution:
Oefeningenreeks 2
- Wijzig de eigenaar van een bestand genaamd
nieuwbestand.txtnaar de gebruiker jezelf en de groep je eigen groep.
Solution: $ sudo chown $USER:$USER nieuwbestand.txt
- Verplaats een bestand genaamd
nieuwbestand.txtnaar een nieuwe locatie met de naamnieuw_bestand.txt.
Solution: $ mv nieuwbestand.txt ./some_dir/nieuw_bestand.txt
- Kopieer een bestand genaamd
nieuw_bestand.txtnaar een nieuwe locatie met de naamdoel.txt.
Solution: $ cp nieuw_bestand.txt ./some_dir/doel.txt
- Zoek naar een softwarepakket met de naam ’neofetch'.
Solution: $ sudo apt search neofetch
- Installeer een softwarepakket genaamd ’neofetch'.
Solution: $ sudo apt install neofetch
- Verwijder een geĆÆnstalleerd softwarepakket genaamd ’neofetch'.
Solution: $ $ sudo apt remove neofetch
- Wijzig de permissies van een bestand genaamd
nieuwbestand.txtzodat de eigenaar lees-, schrijf- en uitvoerrechten heeft, en de groep en anderen alleen lees- en uitvoerrechten hebben.
Solution: $ sudo chmod 755 nieuwbestand.txt
- Voer twee commando’s na elkaar uit, ongeacht of het eerste commando succesvol is.
Solution: $ cat nieuwbestand.txt; echo "De file bestaat of niet"
- Voer een tweede commando alleen uit als het eerste commando succesvol is.
Solution: $ cat nieuwbestand.txt && echo "De file bestaat"
- Schrijf de uitvoer van een commando naar een bestand genaamd
output.txt, waarbij de bestaande inhoud van het bestand wordt overschreven.
Solution: $ ls > output.txt
- Voeg de uitvoer van een commando toe aan het einde van een bestand genaamd
output.txt, zonder de bestaande inhoud te verwijderen.
Solution: $ echo "Einde bestand" >> output.txt
- Zoek naar een softwarepakket genaamd
curl, installeer het pakket.
Solution:
- Verwijder alle bestanden in je map met de extensie
.txt.
Solution: $ rm *.txt
- Maak een bestand genaamd
config.txten voeg wat tekst toe. Maak een kopie van een bestand genaamdconfig.txtnaar een nieuwe locatie met de naambackup_config.txt, wijzig de eigenaar van backup_config.txt naar de gebruikerroot, en voeg de tekst “Backup voltooid” toe aan een logbestand genaamdlog.txt.
Solution:
Oefeningenreeks 3
Oefening 1:
- Maak een directorystructuur aan met de volgende paden:
project/src,project/bin, enproject/docs. - Navigeer naar de
src-directory. - Maak een nieuw bestand genaamd
main.cin desrc-directory. - Kopieer het bestand
main.cnaar debin-directory. - Toon de inhoud van de
bin-directory.
Solution:
Oefening 2:
- Maak een nieuwe directory genaamd
backupin je thuismap. - Maak een
subdirectorygenaamd2025in debackup-directory. - Maak een nieuw bestand genaamd
data.txtin de2025-directory. - Voeg de tekst “Backup data voor 2025” toe aan
data.txt. - Toon de inhoud van
data.txtin de terminal.
Solution:
Oefening 3:
- Zoek naar een softwarepakket genaamd
htop. - Installeer het
htop-pakket. - Maak een directorystructuur aan met de volgende paden:
tools/monitoring. - Start het programma
htopvia het absolute pad naar de htop executable file.
Solution:
Oefening 4:
- Maak een directorystructuur aan met de volgende paden:
website/css,website/js, enwebsite/images. - Navigeer naar de
css-directory. - Maak een nieuw bestand genaamd
styles.cssin de css-directory. - Voeg de tekst “body { background-color: #f0f0f0; }” toe aan
styles.css. - Toon de inhoud van
styles.cssin de terminal.
Solution:
Oefening 5:
- Maak een nieuwe directory genaamd scripts in je thuismap.
- Maak een subdirectory genaamd utilities in de scripts-directory.
- Maak een nieuw shell script genaamd cleanup.sh in de utilities-directory.
- Voeg de volgende inhoud toe aan cleanup.sh:
- Maak het script uitvoerbaar en voer het uit.
Solution:
Oefenreeks 4
Oefening 1: Maak een shell script dat aan de gebruiker een absoluut pad van een directory vraagt en het aantal .txt bestanden in die directory teruggeeft.
Solution:
Oefening 2: Maak een shell script dat het ls commando nadoet met de opties -l en -a in de huidige directory. Je kan enkel de opties apart meegeven of als combinatie -la. Je hebt dus maximum 1 flag die je meegeeft aan je shell script waaruit je afleidt hoe je het ls commando moet uitvoeren.
Solution:
Oefening 3: Maak een shell script genaamd make.sh dat 4 mogelijke opties kan meekrijgen:
- Als je de optie
startmeegeeft vraagt het script de gebruiker naar een projectnaam en maakt dan volgende directories aan:./projectnaam/srcen./projectnaam/build. - Als je de optie
buildmeegeeft worden alle bestanden in de./projectnaam/srcdirectory gekopieerd naar de./projectnaam/builddirectory. - Als je de optie
cleanmeegeeft worden alle bestanden in de./projectnaam/builddirectory gewist. - Als je de optie
runmeegeeft worden alle bestanden in./projectnaam/buildvan alle.txtbestanden een na een getoond.
Solution: