Linux Shell (W2C2) Flashcards

Week 1 College 2

1
Q

Op welke manier verschillen de commando’s
ls -l /etc
en
ls -l /etc > /tmp/lijstje
met elkaar?

A

Het eerste commando geeft de inhoud van de map /etc weer op het scherm, terwijl het tweede commando dezelfde inhoud naar het bestand /tmp/lijstje stuurt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Wat doet de onderstaande regel shell scripting?
if [ -r /etc/shadow ] ; then echo “Ingelogd als root of je shadow password file staat te open”; fi

A

Als het bestand /etc/shadow leesbaar is, wordt de boodschap “Ingelogd als root of je shadow password file staat te open” weergegeven.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Wat is het verschil tussen SIGINT en SIGTERM enerzijds en SIGKILL anderzijds?

A

SIGINT en SIGTERM zijn signalen waarmee een proces kan worden gevraagd om te stoppen, terwijl SIGKILL een signaal is dat een proces direct beëindigt zonder kans op afsluiting.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Leg uit wat er “nice” is aan een programma waarvan met het nice commando de prioriteit is verlaagd

A

Wanneer de prioriteit van een programma wordt verlaagd met het nice commando, betekent dit dat het programma minder systeembronnen zal gebruiken en dus “aardiger” is voor andere processen op het systeem.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Wat is het doel van het werken met scripts?

A

Het doel van het werken met scripts is om repetitieve taken te automatiseren en complexe taken te vereenvoudigen in een Linux-omgeving.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Noem drie Linux Shell-versies.

A

Bash, KornShell (ksh), Z Shell (zsh).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Welke programmeertalen worden in het boek genoemd om te gebruiken als het gaat om complexere
scripts (meer dan 100 regels)?

A

Python, Perl, Ruby.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Wat zijn de nadelen van de bij vraag 7 genoemde talen? (Python, Perl, Ruby)

A

Ze vereisen vaak extra bibliotheken, hebben een hogere leercurve en kunnen minder native integratie met het besturingssysteem hebben dan shell scripting.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Welke toetscombinaties kun je in een tekst-editor als Emacs gebruiken om naar het begin of eind van
een tekstregel te springen?

A

CTRL+A om naar het begin van een regel te gaan, CTRL+E om naar het einde van een regel te gaan.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Processen onder Linux hebben drie communicatiekanalen. Welke drie zijn dat?

A

Standaard invoer (STDIN), standaard uitvoer (STDOUT) en standaard foutuitvoer (STDERR).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Geef een korte beschrijving van STDIN, STDOUT en STDERR. Welke symbolen kunnen in een pipeline
worden gebruikt om commando aan elkaar te koppelen of om bijvoorbeeld de output weg te schrijven
in een tekstfile?

A

STDIN (standaard invoer) is de standaardgegevensstroom waarop een proces invoer ontvangt, STDOUT (standaard uitvoer) is de standaardgegevensstroom waarop een proces uitvoer verzendt, STDERR (standaard foutuitvoer) is de standaardgegevensstroom waarop een proces foutmeldingen verzendt. Het verticale streepje | wordt gebruikt om commando’s aan elkaar te koppelen in een pipeline, en > wordt gebruikt om de output van een commando naar een bestand te schrijven.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Welke symbolen kunnen in een pipeline worden gebruikt om commando aan elkaar te koppelen of om
bijvoorbeeld de output weg te schrijven in een tekstfile?

A

om commando’s aan elkaar te koppelen en > om de output naar een bestand te schrijven.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Welk commando kun je gebruiken om in bijvoorbeeld /var/messages te zoeken naar specifieke
foutmeldingen?

A

grep commando, bijvoorbeeld: grep “foutmelding” /var/messages.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Op welke manier worden in de shell variabele gedefinieerd en aangeroepen?

A

Variabelen worden gedefinieerd door een naam toe te wijzen aan een waarde met behulp van het isgelijkteken (=), bijvoorbeeld variabele=waarde. Om een variabele aan te roepen, gebruik je het dollarteken ($), bijvoorbeeld echo $variabele.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

In de Shell zijn variabelen niet hoofdletter gevoelig? (Eens/oneens)

A

Eens

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Welk commando kan in een Shell worden gebruikt om woorden en zinnen te tellen en welk commando
gebruik je om een specifiek patroon in directory of een bestand weer te geven?

A

wc om woorden en zinnen te tellen, en grep om een specifiek patroon weer te geven.

17
Q

Hoe kun je aan een script aflezen dat het om een Bash-script gaat?

A

Aan de shebang-regel bovenaan het script (#!/bin/bash).

18
Q

Welk commando heb je nodig om de permissies van een bestand (lees: een script) aan te passen zodat
deze kan worden uitgevoerd?

A

Het chmod commando, bijvoorbeeld chmod +x script.sh.

19
Q

Wat is kenmerkend voor variabelen in Bash?

A

Variabelen zijn standaard globaal, tenzij ze expliciet lokaal worden gemaakt met local, en ze zijn hoofdletterongevoelig.

20
Q

Welke richtlijnen voor scripts worden in het boek genoemd?

A

Zorg voor duidelijke en beknopte code, documenteer het script, houd rekening met beveiliging en test grondig.

21
Q

Welke componenten behoren bij een (Linux/ Unix) proces?

A

Programmacode, geheugenruimte, registers, stack, heap, bestandsdescriptoren, statusinformatie.

22
Q

Wat is een Proces ID (PID)?

A

Een uniek identificatienummer dat aan een proces wordt toegewezen door de kernel bij het starten van het proces.

23
Q

Welke twee gebruikers en groeps ID’s zijn er in Linux?

A

UID (User ID) en GID (Group ID).

24
Q

Hoe wordt de administratieve waarde genoemd die mede kan bepalen hoeveel CPU-tijd een proces krijgt?

A

Deze administratieve waarde staat bekend als de “nice” waarde.

25
Q

Wat is de functie van init binnen Linux?

A

Init is het eerste proces dat wordt gestart tijdens het opstarten van Linux en is verantwoordelijk voor het initialisatieproces, inclusief het starten en beheren van andere systeemprocessen.

26
Q

Wat zijn onder Linux belangrijke signalen?

A

Belangrijke signalen onder Linux zijn onder andere SIGKILL, SIGTERM, SIGINT en SIGHUP.

27
Q

Welke twee signalen kunnen niet worden geblokkeerd of worden gestopt?

A

SIGKILL en SIGSTOP kunnen niet worden genegeerd of geblokkeerd door processen.

28
Q

Welke command/syntax moet je gebruiken om een proces, zoals dat van de Apache Webserver, te stoppen?

A

Het commando kill met het signaal SIGTERM, bijvoorbeeld kill <pid>, waarbij <pid> het proces-ID is van de Apache-webserver.</pid></pid>

29
Q

Welke vier process states kent Linux?

A

Linux kent vier process states: Running, Sleeping, Stopped en Zombie.

30
Q

Kan een administrator (root) wanneer een proces met een STOP of een TSTP signaal gestopt is, het proces administratief weer starten (Ja, dat kan / Nee, dat kan niet)

A

Ja, dat kan.

31
Q

Een hoge nice waarde betekent dat de kernel het proces een hoge prioriteit toekent. (Juist/ Onjuist)

A

Onjuist. Een hoge nice-waarde betekent eigenlijk dat het proces een lagere prioriteit krijgt.

32
Q

Welk commando kun je gebruiken om te zien welke processen op een systeem draaien?

A

Het ps commando, bijvoorbeeld ps aux.

33
Q

Met welk commando kun je informatie krijgen over de processen die het meeste systeembronnen vragen.? (De informatie moet ook circa elke 10 seconden worden ververst!)

A

Het top commando.

34
Q

Uit welke directory halen de tools ps en top hun informatie?

A

Deze tools halen hun informatie uit de /proc directory.

35
Q

Welk commando kun je gebruiken om te achterhalen wat een proces doet?

A

Het strace commando kan worden gebruikt om de systeemaanroepen die een proces maakt, te traceren en weer te geven.