De Linux-commandoregel

Leer met vertrouwen werken in de Linux-shell. Lees de prompt, typ commando's met de juiste opties en argumenten en zoek hulp in de manpagina's en ingebouwde hulp. Navigeer door de directoryboom met absolute en relatieve paden, bekijk wat elke directory bevat en maak, kopieer, verplaats, hernoem en verwijder bestanden en directory's zonder per ongeluk gegevens te verliezen. Selecteer meerdere bestanden tegelijk met jokertekens, hergebruik eerdere commando's uit de geschiedenis en bepaal met variabelen en PATH hoe de shell werkt.

BeginnerLes 2 van 7 in Cursus Linux: commandoregel, shellscripts, gebruikers en services

Wat je leert

  1. Herken de shell en de prompt, typ commando's in de juiste vorm met opties en argumenten en gebruik de toetsen waarmee je sneller en veiliger op de commandoregel werkt.
    • Herken de shell, de terminal en de prompt
      Maak onderscheid tussen de shell en het terminalvenster, lees uit de prompt wie je bent en waar je je bevindt en gebruik de basistoetsen om commando's uit te voeren, te stoppen en te herhalen.
    • Schrijf commando's met opties en argumenten
      Bouw een commando op uit de naam, opties en argumenten, combineer korte opties, gebruik lange opties en optiewaarden en ga correct om met spaties en ongebruikelijke namen.
  2. Gebruik de manpagina's en de snellere hulp die in commando's en de shell is ingebouwd om te ontdekken wat een commando doet en welke opties het heeft, zonder de terminal te verlaten.
    • Lees en doorzoek de manpagina's
      Open een manpagina, begrijp de onderdelen en de aanroepsyntaxis, navigeer en zoek erin, kies een handleidingsectie en vind de juiste pagina als je de naam van het commando niet kent.
    • Gebruik beknopte hulp en andere documentatie
      Vraag snel een overzicht van opties op met --help, lees hulp voor ingebouwde shellcommando's, vind extra documentatie in /usr/share/doc en info-pagina's en gebruik foutmeldingen als aanwijzingen.
  3. Begrijp hoe Linux bestanden in één directoryboom indeelt, navigeer daarin met absolute en relatieve paden en toon en bekijk wat elke directory bevat.
    • Begrijp de directoryboom
      Beschrijf de ene boom die bij de rootdirectory begint, herken de belangrijkste systeemdirectory's en de homedirectory en volg de regels voor bestandsnamen en verborgen bestanden.
    • Navigeer met absolute en relatieve paden
      Weet waar je bent, wissel van directory en schrijf paden vanaf de rootdirectory, vanaf de huidige directory, met .. en met ~. Kies voor elke taak het juiste soort pad.
    • Toon en bekijk de inhoud van directory's
      Toon bestanden met ls en veelgebruikte opties, lees elke kolom van een uitgebreide bestandslijst en toon verborgen bestanden, grootten, sorteervolgorden en de inhoud van subdirectory's.
  4. Beheer bestanden en directory's vanuit de shell: maak, kopieer, verplaats of hernoem en verwijder ze veilig, terwijl je precies weet wat elk commando doet als namen al bestaan.
    • Maak bestanden en directory's
      Maak nieuwe directory's, ook geneste, maak lege bestanden of werk hun tijdstempels bij met touch en verwijder lege directory's.
    • Kopieer, verplaats en hernoem
      Kopieer bestanden en hele directory's met cp, verplaats en hernoem met mv, voorspel waar het resultaat terechtkomt en voorkom dat je bestanden per ongeluk overschrijft.
    • Verwijder bestanden en directory's veilig
      Verwijder bestanden en directorybomen met rm, gebruik de opties die om bevestiging vragen of verwijdering forceren en volg een werkwijze die voorkomt dat je de verkeerde dingen verwijdert.
  5. Gebruik patronen met jokertekens van de shell om meerdere bestanden tegelijk aan te duiden, voorspel precies welke namen met een patroon overeenkomen en gebruik patronen veilig met commando's die kopiëren, verplaatsen en verwijderen.
    • Selecteer overeenkomende bestandsnamen met *, ? en [ ]
      Schrijf patronen met *, ? en expressies tussen vierkante haken, inclusief bereiken en negatie, en voorspel met welke bestaande namen ze overeenkomen, rekening houdend met hoofdletters en verborgen bestanden.
    • Gebruik jokertekens veilig in commando's
      Voorspel wat de shell na expansie aan een commando doorgeeft, bekijk patronen vooraf, voorkom expansie met aanhalingstekens en gebruik accolades om namen te maken.
  6. Haal eerdere commando's uit de geschiedenis op en herhaal ze, sla waarden op in shellvariabelen en omgevingsvariabelen en bepaal met PATH hoe de shell programma's vindt.
    • Haal commando's uit de geschiedenis op en hergebruik ze
      Blader en zoek door eerdere commando's en voer ze opnieuw uit, gebruik geschiedenisexpansie zorgvuldig en weet waar Bash de geschiedenis bewaart en wat daarin wordt vastgelegd.
    • Stel shellvariabelen en omgevingsvariabelen in en gebruik ze
      Maak variabelen, lees hun waarden en verwijder ze, exporteer ze naar de omgeving, gebruik veelvoorkomende omgevingsvariabelen, scherm waarden correct af en bewaar instellingen blijvend.
    • Bepaal met PATH hoe de shell commando's vindt
      Leg uit hoe de shell een commandonaam aan een programma koppelt, lees PATH en breid die uit, voer een programma uit dat niet in PATH staat en controleer welk programma bij een naam wordt uitgevoerd.

Linux-commandoregel: uitleg

6 hoofdstukken

1

Werk met de shellprompt

In een terminalsessie kun je instructies typen en de resultaten bekijken. De shell leest elke instructie en de prompt helpt je je gebruikersaccount en locatie in het oog te houden. Je leert de toetsen om namen aan te vullen en een regel te corrigeren en bouwt daarna commando's op uit namen, opties en argumenten. De juiste spaties en aanhalingstekens zijn belangrijk: de shell werkt met de woorden die hij ontvangt en een kleine wijziging tijdens het typen kan naar een ander bestand verwijzen.

1.1 Herken de shell, de terminal en de prompt

Een shell leest commando's en start de taken waarom ze vragen. Een terminal is het venster waarin je typt en de uitvoer ziet. Als je een andere terminal opent, start normaal gesproken een andere shellsessie. Een console biedt een rechtstreeks aangesloten tekstscherm; via een SSH-aanmelding kun je een shell op een andere computer krijgen.

Lees de prompt

In de voorbeeldprompt sam@laptop:~$ is sam de gebruiker, laptop de hostcomputer en betekent ~ de homedirectory. De afsluitende $ geeft meestal een gewone gebruiker aan. De indeling van de prompt kan verschillen, dus gebruik zo nodig commando's om gegevens te controleren. whoami toont de accountnaam en pwd toont de huidige directory.

Een # in de prompt geeft volgens afspraak root aan, het beheerdersaccount. Werk als gewone gebruiker en gebruik beheerdersrechten alleen als een taak die nodig heeft. Een promptteken vóór een voorbeeldcommando maakt geen deel uit van het commando dat je typt.

Voer een eerste sessie uit

Typ elke regel afzonderlijk en druk op Enter:

whoami
pwd
date
echo Hello

Voor het voorbeeldaccount zijn de eerste twee resultaten sam en /home/sam. date toont de huidige datum en tijd; echo Hello toont Hello. De uitvoer van een commando verschijnt onder de invoer, gevolgd door een nieuwe prompt. Sommige geslaagde commando's tonen niets: mkdir reports maakt een directory zonder melding. Bekijk het resultaat met ls als je bevestiging nodig hebt.

Bash, de Bourne Again Shell, wordt veel gebruikt op Linux. Andere shells zijn onder meer zsh en fish. echo $0 toont hoe de huidige shell is aangeroepen; echo $SHELL toont de voor het account ingestelde loginshell. Als je een andere shell start, kunnen die antwoorden verschillen. Het terminalvenster bepaalt zelf niet welke shell erin draait.

Bewerk en herstel
ToetsActie
TabVul een commando of bestandsnaam aan; druk tweemaal om bij meerdere mogelijkheden de keuzes te zien
Omhoog / omlaagBlader door eerder getypte commando's
Ctrl+CAnnuleer de huidige invoerregel of onderbreek een actief programma op de voorgrond
Ctrl+LMaak het scherm leeg; clear doet dit ook
Ctrl+D op een lege regelBeëindig de shell, net als exit

Stel dat je ls Doc typt en op Tab drukt. Als Documents de enige overeenkomende naam is, wordt die aangevuld. Als meerdere namen met Doc beginnen, heeft Bash meer tekens of een keuze nodig. Aanvullen helpt bij spelling en hoofdletters: Documents en documents zijn verschillende namen.

Een programma dat het hele scherm gebruikt, wacht mogelijk op een eigen toets in plaats van de shellprompt te tonen. Druk op q om man of less te verlaten. Een cat-commando zonder bestand wacht op getypte invoer; met Ctrl+C keer je terug naar de shell. Ctrl+C is dus niet de gebruikelijke sneltoets om in de terminal te kopiëren. Veel terminalemulators gebruiken Ctrl+Shift+C en Ctrl+Shift+V om te kopiëren en te plakken.

De toetsenbordindeling beïnvloedt ook hoe je symbolen zoals ~, [ en { invoert. Sommige indelingen gebruiken AltGr en bij een dode toets voor ~ moet je mogelijk op de spatiebalk drukken voordat het teken verschijnt. Typ commando's met precies de juiste hoofdletters: LS en ls zijn verschillende commandonamen.

Belangrijkste punten

  • De shell interpreteert commando's; de terminal toont de sessie.
  • Een prompt helpt je het account, de hostcomputer en de huidige directory te herkennen.
  • Gebruik Tab om namen aan te vullen en Ctrl+C om te onderbreken of annuleren.
  • Ctrl+D op een lege regel sluit de shell af; q sluit een tekstviewer voor manpagina's af.

1.2 Schrijf commando's met opties en argumenten

Een commandoregel bestaat uit woorden. Het eerste woord geeft aan wat moet worden uitgevoerd, opties veranderen de werking en argumenten leveren de objecten of waarden waarop het commando werkt. Spaties scheiden die woorden.

Herken de onderdelen

In ls -l /etc is ls het commando, vraagt -l om een uitgebreide bestandslijst en is /etc het directoryargument. De gebruiksvorm command [options] [arguments] beschrijft deze indeling; je typt die vierkante haken niet.

Korte opties gebruiken één streepje en een letter. ls -a -l, ls -al en ls -la vragen om dezelfde lijst. Lange opties gebruiken twee streepjes, zoals in ls --all. Houd lange opties gescheiden; woorden achter één streepje samenvoegen levert geen lange optie op. Zo wordt ls -all gelezen als de korte opties -a -l -l.

Een optie kan ook een waarde nodig hebben. In touch -d 2025-01-31 old.txt hoort de datum bij -d; old.txt is het bestandsargument. De lange vorm is touch --date=2025-01-31 old.txt. Lees de gebruiksbeschrijving om te zien of een optie een waarde nodig heeft en hoe je die opgeeft.

Houd elke naam bij elkaar

De shell behandelt niet-afgeschermde spaties als woordgrenzen. Elk van deze drie regels verwijst naar één bestand:

ls "Annual Report.pdf"
ls 'Annual Report.pdf'
ls Annual\ Report.pdf

De aanhalingstekens of backslash schermen de spatie af; ze maken geen deel uit van de bestandsnaam. Zonder die afscherming vraagt ls Annual Report.pdf om twee bestanden. Een vergelijkbaar effect zie je bij echo: echo Hello world ontvangt twee woorden en toont één spatie ertussen, terwijl echo "Hello world" alle drie de spaties binnen één argument behoudt.

Maak opties ondubbelzinnig

Zet opties vóór bestandsargumenten. GNU-commando's accepteren ze vaak ook daarna, maar opties eerst maakt een regel gemakkelijker leesbaar en werkt op meer systemen. Bij commando's die dit ondersteunen, beëindigt -- de optieverwerking. rm -- -draft.txt behandelt -draft.txt daardoor als een bestandsnaam. Het pad ./-draft.txt begint ook met een punt, zodat rm ./-draft.txt een eerste teken vermijdt dat op een optie lijkt.

Optieletters horen bij hun commando. cp -r kopieert directory's recursief, maar ls -r keert de sortering om; ls -R toont directory's recursief. ls -h verandert de weergave van grootten en vraagt niet om hulp. Een gekopieerde en-dash, –, verschilt ook van het gewone - dat opties vereisen.

Zoek uit wat een naam uitvoert

Een commando kan een programmabestand zijn, een ingebouwd commando van de shell of een alias die expandeert naar een andere commandoregel. cd is ingebouwd in Bash omdat het de directory van die shell verandert. ls is normaal gesproken een programma, vaak met een alias die kleur toevoegt. type cd en type ls melden de actieve betekenis.

Als ls-l mislukt met command not found, heeft Bash naar die hele naam gezocht. Voeg de ontbrekende spatie in: ls -l. Als een commando een onbekende optie meldt, controleer dan de spelling en documentatie van de optie; een ander bestandspad lost een optiefout niet op.

Belangrijkste punten

  • Spaties scheiden het commando, de opties en de argumenten.
  • Scherm een spatie binnen één naam af met aanhalingstekens of een backslash.
  • Korte opties kun je combineren; lange opties gebruiken twee streepjes.
  • Een optie kan een eigen waarde vereisen.
  • Met -- of een pad met ./ kun je een bestandsnaam gebruiken die met een streepje begint.
  • type maakt onderscheid tussen een ingebouwd commando, alias en programmabestand.
2

Zoek hulp via de commandoregel

Met hulp op de commandoregel kun je een specifieke vraag beantwoorden zonder elke optie uit je hoofd te leren. Een manpagina biedt een volledig naslagwerk; de beknopte hulp van een commando geeft een korter geheugensteuntje. Bash heeft ook een apart hulpsysteem voor commando's die in de shell zijn ingebouwd. Je leert de juiste bron te kiezen, de verkorte notatie in een gebruiksregel te lezen, een lange pagina te doorzoeken en met een foutmelding te bepalen wat je daarna controleert.

2.1 Lees en doorzoek de manpagina's

Een manpagina is een gedetailleerde naslagpagina voor een specifiek commando of een specifieke systeemfunctie. Open er een met man ls. De pagina verschijnt normaal in less, een tekstviewer die telkens één scherm toont en waarmee je kunt zoeken zonder de terminal te verlaten.

Lees de opbouw van de pagina

De kop NAME noemt het commando en het doel ervan. SYNOPSIS geeft het aanroeppatroon. DESCRIPTION en OPTIONS leggen de werking en opties uit. EXAMPLES kan werkelijk gebruik tonen, terwijl FILES en ENVIRONMENT verwante bestanden en variabelen beschrijven. SEE ALSO noemt verwante pagina's. De koppen verschillen, omdat sommige commando's informatie nodig hebben die andere niet nodig hebben.

Een gebruiksregel zoals ls [OPTION]... [FILE]... is een compacte notatie:

  • Letterlijke tekst, vaak vetgedrukt, typ je zoals die is weergegeven.
  • Plaatsaanduidingen, vaak cursief of onderstreept, vervang je door je eigen waarde.
  • Vierkante haken sluiten optionele onderdelen in.
  • ... betekent dat het voorgaande onderdeel herhaald kan worden.
  • Een verticale streep scheidt alternatieven.

Zowel de groep met opties als die met bestanden is in deze vorm van ls optioneel, dus ls alleen is geldig. In mkdir [OPTION]... DIRECTORY... heeft de directorygroep geen vierkante haken: er is ten minste één directorynaam vereist. Typ DIRECTORY niet alleen omdat het in de handleiding staat.

Zoek tijdens het lezen

Met de spatiebalk of Page Down ga je een scherm vooruit; met b ga je terug. Met de pijltjestoetsen verplaats je je per regel. Kleine letter g gaat naar het begin en hoofdletter G naar het einde. Typ /human en druk op Enter om naar “human” te zoeken. Gebruik n voor het volgende resultaat en N voor het vorige. Druk op q om de pagina te verlaten; h opent de hulp van de tekstviewer.

Voor een praktische zoekopdracht open je man ls, zoek je naar /human en lees je de beschrijving van -h, --human-readable. Die werkt met een lijst die grootten toont, zoals met -l. Sluit de handleiding af en voer ls -lh uit. Een bestand van 2048 bytes verschijnt als 2.0K. Met alleen ls -h krijg je nog steeds een gewone namenlijst, omdat er niet om een kolom met grootten is gevraagd.

Kies de juiste handleidingsectie
SectieOnderwerp
1Gebruikerscommando's
2Systeemaanroepen
3Bibliotheekfuncties
4Speciale apparaatbestanden
5Bestandsformaten
6Spellen
7Overzichten en conventies
8Systeembeheercommando's

De verwijzing passwd(5) duidt de uitleg van het wachtwoordbestandsformaat in sectie 5 aan. Voer man 5 passwd uit om die te kiezen. man passwd zonder sectienummer opent normaal de commandopagina uit sectie 1.

Als je het doel kent maar niet het commando, voer je apropos directory of man -k directory uit. Die doorzoeken geïndexeerde namen en korte beschrijvingen. Als je een naam al kent en het doel in één regel wilt weten, gebruik je whatis ls of man -f ls. Een nieuw systeem kan een lege index hebben, dus een mislukte zoekopdracht bewijst niet dat het commando ontbreekt.

Sommige minimale installaties bevatten geen handleidingen. Als een pagina voor man cd ontbreekt, komt dat ook vaak doordat cd een ingebouwd shellcommando is. Gebruik help cd voor de beschrijving van Bash zelf.

Belangrijkste punten

  • Gebruik man command voor een naslagpagina en /word om daarin te zoeken.
  • Vierkante haken in SYNOPSIS geven optionele onderdelen aan; weglatingstekens geven herhaling aan.
  • Met een sectienummer kies je tussen pagina's met dezelfde naam.
  • apropos zoekt op doel; whatis zoekt een bekende naam op.
  • Gebruik help voor ingebouwde Bash-commando's zoals cd.

2.2 Gebruik beknopte hulp en andere documentatie

Je hebt niet altijd een volledige manpagina nodig. Een korte optielijst, de hulp van een ingebouwd commando of een foutmelding kan de directe vraag beantwoorden. Kies een bron die het commando beschrijft dat je daadwerkelijk uitvoert.

Kies hulp die bij het commando past

type cp geeft normaal een programmabestand aan, dus cp --help geeft de gebruiksinstructie en opties. type cd geeft een ingebouwd shellcommando aan, dus help cd beschrijft de versie van Bash. help zonder argumenten toont de ingebouwde Bash-commando's; het biedt geen hulppagina voor het externe programma ls.

De meeste GNU-commando's ondersteunen --help, maar de betekenis van korte opties verschilt. Bij ls betekent -h leesbare grootten, geen hulp. Lees ls --help om de opties van ls betrouwbaar te controleren zonder af te gaan op een ander programma.

Stel dat je reports/2026/q1 wilt maken, maar de bovenliggende directory's bestaan niet. Werk de vraag stap voor stap uit:

  1. apropos directory wijst op mkdir om directory's te maken.
  2. mkdir --help toont -p, --parents en legt uit dat ontbrekende bovenliggende directory's worden gemaakt.
  3. mkdir -p reports/2026/q1 maakt het hele pad.

De hulp geeft de ontbrekende informatie over de werking, niet alleen de commandonaam. Dat is van belang als je mkdir al kent, maar de gewone vorm meldt dat een bovenliggende directory ontbreekt.

Kijk verder dan de optielijst

GNU Info-handleidingen zijn langere documenten met onderlinge koppelingen. info coreutils opent documentatie voor de basishulpprogramma's voor bestanden. Binnen Info ga je met n naar het volgende knooppunt, met p naar het vorige en met u een niveau omhoog; Enter volgt een geselecteerde koppeling en q sluit af. Een knooppunt is één onderdeel van de gekoppelde handleiding.

Geïnstalleerde pakketten kunnen ook documentatie onder /usr/share/doc/ aanbieden. Zo toont ls /usr/share/doc/bash de documentatie van het Bash-pakket. Deze directory's kunnen README-bestanden, wijzigingslogboeken, licentietekst en voorbeelden bevatten. De extensie .gz geeft een gecomprimeerd bestand aan; zless kan gecomprimeerde tekst tonen.

Lees een fout als aanwijzing

Een foutmelding noemt meestal het commando, het object en de reden. In ls: cannot access 'note.txt': No such file or directory is ls uitgevoerd, maar kon het dat pad niet vinden. Controleer pwd, de spelling en hoofdletters en de directory waarin het bestand staat. ls opnieuw typen in hoofdletters zou een afzonderlijk probleem met de commandonaam opleveren.

rmdir: failed to remove 'photos': Directory not empty betekent dat de doeldirectory bestaat maar nog vermeldingen bevat. Als je de inhoud toont, inclusief verborgen vermeldingen, zie je waarom het verwijderen mislukte. Een onbekende optie is iets anders: een melding over --bogus verwijst je naar ls --help omdat de optie zelf ongeldig is.

Lokale hulp sluit beter aan bij het geïnstalleerde programma dan een willekeurig voorbeeld op internet. ls --version geeft de GNU-versie aan als je documentatie wilt vergelijken. Zoek voordat je een onbekend gekopieerd commando gebruikt elke optie op in de bijbehorende hulp, vooral bij commando's die bestanden verwijderen of met beheerdersrechten worden uitgevoerd.

Belangrijkste punten

  • Kies command --help voor programmaopties en help name voor ingebouwde Bash-commando's.
  • info en /usr/share/doc/ kunnen uitgebreidere uitleg en voorbeelden bieden.
  • Gebruik het commando, het pad en de reden in een foutmelding om te bepalen wat je daarna controleert.
3

Navigeer door het Linux-bestandssysteem

Bestanden en directory's staan in één boom en elk commando werkt vanuit een bepaalde plaats in die boom. Een pad vertelt waar het commando naartoe moet of wat het moet bekijken. Je volgt paden vanaf de rootdirectory en vanaf je huidige directory, gebruikt verkortingen voor de homedirectory en bovenliggende directory's en leest bestandslijsten die meer dan namen tonen. Met deze vaardigheden kun je je locatie en de objecten waarmee je werkt controleren voordat je iets wijzigt.

3.1 Begrijp de directoryboom

Linux ordent bestanden en directory's in één boom. Een bestand bevat gegevens; een directory, in een grafische bestandsbeheerder een map genoemd, bevat vermeldingen met namen voor bestanden en andere directory's. De boom begint bij de rootdirectory, /.

Volg de boom

Een schuine streep scheidt padcomponenten: /home/sam/photos leidt vanaf / naar home, dan naar sam en dan naar photos. Andere schijven verschijnen binnen dezelfde boom, vaak onder /media of /mnt; ze hebben geen stationsletters nodig. Een backslash is geen Linux-padscheidingsteken. Bash gebruikt die om een volgend teken af te schermen, zoals in Annual\ Report.pdf.

Belangrijke locaties hebben verschillende taken:

LocatieHoofddoel
/homeHomedirectory's van gewone gebruikers
/rootDe homedirectory van de rootgebruiker
/etcSysteemconfiguratie
/bin, /usr/binAlledaagse programmabestanden
/sbin, /usr/sbinSysteembeheerprogramma's
/tmpTijdelijke gegevens die automatisch kunnen worden gewist
/varVeranderlijke gegevens, waaronder logboeken onder /var/log
/devApparaatbestanden

Veel huidige distributies koppelen /bin aan /usr/bin en /sbin aan /usr/sbin. Je kunt daardoor twee directorynamen zien die naar dezelfde geïnstalleerde programma's leiden. De rootdirectory / en de directory /root zijn nog steeds verschillende plaatsen: de ene is het begin van de boom en de andere is de homedirectory van één account.

Herken je eigen bestanden

Voor de voorbeeldgebruiker sam is de homedirectory /home/sam, door de shell afgekort als ~. /home is de bovenliggende directory, niet de persoonlijke directory van sam. Persoonlijke documenten en instellingen staan normaal in de homedirectory; /tmp is ongeschikt voor iets dat je moet bewaren, omdat tijdelijke gegevens automatisch kunnen worden verwijderd.

Bekijk deze indeling:

/home/sam/
  .bashrc
  Documents/
    cv.pdf
    letter.txt
  photos/
  projects/
    notes.txt
    website/
      index.html
      style.css

Het volledige pad naar het stijlblad is /home/sam/projects/website/style.css. Het bestand notes.txt staat naast website, niet erin. De vermeldingen in elke directory bepalen welke stap je daarna verder de boom in kunt zetten.

Lees namen precies

Namen zijn hoofdlettergevoelig: notes.txt, Notes.txt en NOTES.TXT kunnen drie bestanden aanduiden. Namen mogen geen / of nulbyte bevatten. Eenvoudige letters, cijfers, punten, streepjes en underscores houden alledaagse namen gemakkelijk te typen; veelgebruikte Linux-bestandssystemen beperken één naam tot 255 bytes.

Een extensie zoals .txt is een deel van een naam, geen bewijs van de inhoud. file report onderzoekt de gegevens en kan een pdf herkennen, ook als de naam geen .pdf heeft.

Een punt aan het begin verbergt een vermelding in de gewone uitvoer van ls. .bashrc, .profile en .config bevatten vaak instellingen. Verborgen betekent dat de standaardlijst de naam weglaat, niet dat die tegen toegang is beschermd; ls -a toont deze namen. De speciale vermelding . betekent de directory zelf en .. de bovenliggende directory. In de rootdirectory leidt .. nog steeds naar /.

Belangrijkste punten

  • Linux-paden horen bij één boom met / als wortel.
  • /home/sam, /home en /root zijn verschillende directory's.
  • Bestandsnamen zijn hoofdlettergevoelig; extensies bepalen de inhoud niet.
  • Een punt aan het begin verbergt een naam in een gewone bestandslijst, niet voor toegestane toegang.
  • . betekent de huidige directory en .. de bovenliggende directory.

3.2 Navigeer met absolute en relatieve paden

Een pad vertelt een commando waar het een object kan vinden. Om een pad goed te lezen, bepaal je eerst waar het begint. Een absoluut pad begint bij /; een relatief pad begint bij de huidige werkdirectory van de shell.

Bepaal je startpunt

pwd toont je huidige directory. Vanuit /home/sam bereik je met het pad projects/website de directory /home/sam/projects/website. Vanuit /etc zou hetzelfde relatieve pad /etc/projects/website betekenen. Het absolute pad /home/sam/projects/website duidt vanuit beide startpunten dezelfde locatie aan.

cd verandert de huidige directory. Het toont niet de inhoud van de bestemming en opent geen bestand. cd projects gaat naar een onderliggende directory met de naam projects; cd /etc gaat naar de absolute locatie /etc. Zonder argument keert cd terug naar de homedirectory. cd - keert terug naar de vorige werkdirectory en toont die locatie.

Volg een route onderdeel voor onderdeel

Begin in /home/sam/projects/website en bekijk cd ../../photos:

  1. De eerste .. bereikt /home/sam/projects.
  2. De tweede .. bereikt /home/sam.
  3. photos gaat omlaag naar /home/sam/photos.

Het hele commando voert één wijziging uit naar de eindbestemming. Vanuit de directory website stopt cd .. in projects, terwijl cd ../.. in de homedirectory stopt. De startdirectory is elke keer van belang: nadat je bent verplaatst, begint een volgend relatief commando vanaf je nieuwe locatie.

Een ./ aan het begin duidt expliciet de huidige directory aan. ./notes.txt en notes.txt verwijzen naar hetzelfde lokale bestand. ls ../photos toont een nabijgelegen directory zonder je shell ernaartoe te verplaatsen; alleen een commando dat de werkdirectory wijzigt, zoals cd, verandert de basis voor latere relatieve paden.

Gebruik de verkorting voor de homedirectory

Aan het begin van een niet-afgeschermd woord expandeert Bash ~ naar je homedirectory. cd ~/Documents werkt voor sam dus vanaf elke plek. ~alex verwijst naar de homedirectory van alex.

Aanhalingstekens rond de tilde stoppen die expansie: cd "~/Documents" vraagt om een letterlijke directory ~ onder de huidige directory. Als het latere deel een spatie bevat, laat je de tilde buiten de aanhalingstekens:

cd ~/"My Files"

Je kunt ook cd "$HOME/My Files" schrijven; dubbele aanhalingstekens behouden de spatie en laten de waarde van de variabele wel expanderen.

Onderzoek een pad dat niet werkt

cd /projects vraagt om projects direct onder /, niet onder je homedirectory. cd.. is één commandonaam; schrijf cd ... Een documents met kleine letter mislukt als de echte naam Documents is. Controleer het begin, elke component en de precieze hoofdletters. Aanvullen met Tab kan een bestaande naam invullen en een typefout voorkomen.

Absolute paden passen bij instructies die vanaf verschillende locaties moeten werken. Relatieve paden zijn handig voor werk in de buurt. Beide vormen werken ook als bestandsargument bij cp, mv, ls en andere commando's; de interpretatie van een pad hangt niet af van het gebruik met cd.

Belangrijkste punten

  • Gebruik pwd om de basis van een relatief pad te bepalen.
  • Absolute paden beginnen met /; relatieve paden beginnen bij de huidige directory.
  • Lees elke .. als één stap naar de bovenliggende directory.
  • cd, cd - en cd .. hebben verschillende bestemmingen.
  • Laat ~ buiten aanhalingstekens als je expansie naar de homedirectory wilt.

3.3 Toon en bekijk de inhoud van directory's

ls toont de inhoud van de huidige directory of de bestanden en directory's die je opgeeft. Een bestandslijst kan meer beantwoorden dan “Wat staat hier?”: opties tonen verborgen vermeldingen, details, grootten, sorteervolgorde en subdirectory's.

Kies wat je wilt tonen

ls zonder opties en ls -l laten verborgen vermeldingen weg. -a neemt ze op, samen met . en ..; -A neemt verborgen vermeldingen op zonder die twee speciale namen. -F voegt een schuine streep toe achter directorynamen. Kleuren in de uitvoer zijn een ander visueel hulpmiddel, maar de precieze kleuren hangen af van het systeem.

ls projects toont wat zich in projects bevindt. ls -ld projects toont daarentegen een uitgebreide lijst van de directoryvermelding zelf. De optie -d verandert het object dat wordt getoond, niet de hoeveelheid details.

Lees een uitgebreide bestandslijst

Bekijk deze regel uit ls -l:

-rw-r--r-- 1 sam sam 2048 Mar  3 14:20 notes.txt

Lees van links naar rechts:

  1. - geeft een gewoon bestand aan; d zou een directory aangeven en l een symbolische koppeling.
  2. De volgende negen tekens beschrijven toegangsrechten voor de eigenaar, de groep en anderen.
  3. 1 is het aantal harde koppelingen.
  4. De twee sam-velden geven de eigenaar en de groep aan.
  5. 2048 is de bestandsgrootte in bytes.
  6. De datum en tijd geven de laatste wijziging van de inhoud aan.
  7. notes.txt is de naam.

ls -lh toont die grootte als 2.0K. De optie -h verandert de opmaak van de grootte, terwijl -l de kolom met grootten toevoegt. ls -h alleen toont nog steeds namen zonder grootten.

De grootte van een directory zelf is de ruimte die voor de vermeldingen wordt gebruikt; het is niet de som van alle gegevens erin. De kop total 12 beschrijft de schijfblokken voor de getoonde vermeldingen, niet twaalf bestanden. Gebruik de regels met bestandsnamen om de vermeldingen zelf te zien.

Orden het resultaat
OptiesWat eerst komt
Geen sorteeroptieNamen in de sorteervolgorde van de taal- en regio-instellingen
-tMeest recent gewijzigde vermeldingen
-SGrootste vermeldingen
-r met een andere volgordeHet omgekeerde van die volgorde

Zo zet ls -lt de nieuwste wijzigingen eerst, terwijl ls -ltr ze achteraan zet. ls -lhS toont leesbare grootten met de grootste eerst. Hoofdletters en leestekens kunnen bij andere taal- en regio-instellingen anders worden gesorteerd, dus concludeer niet dat een bestand ontbreekt alleen omdat de naam niet staat waar je die verwachtte.

Bekijk wat onder het eerste niveau staat

ls -R projects toont de inhoud van projects en daarna die van de subdirectory's. Als notes.txt naast een directory website staat, is de eerste kop projects: en bevatten de vermeldingen die twee namen. Een latere kop, projects/website:, geeft de lijst aan met index.html en style.css.

Hoofdletter -R is recursief. Kleine letter -r keert alleen de sortering om. Als je -a met een recursieve bestandslijst combineert, worden ook verborgen vermeldingen zichtbaar, wat het resultaat veel langer kan maken. Voor de metadata van één directory is ls -ld meestal duidelijker.

Belangrijkste punten

  • -l voegt details toe en -h maakt getoonde grootten gemakkelijker leesbaar.
  • -a neemt verborgen vermeldingen op; -A laat alleen . en .. weg.
  • -d toont een directory zelf; -R toont de subdirectory's.
  • -t, -S en -r bepalen de volgorde.
  • Een directorygrootte en de regel total zijn geen aantallen of totale grootten van alle bestanden in de directory.
  • Een uitgebreide bestandslijst toont type, toegangsrechten, aantal koppelingen, eigenaar, groep, grootte, wijzigingstijd en naam.
4

Maak, kopieer, verplaats en verwijder bestanden en directory's

Een directory maken, een bestand kopiëren en een bestand hernoemen veranderen de boom elk op een andere manier. Het resultaat hangt er ook van af of een bestemming al bestaat. Je bouwt een kleine directorystructuur, voorspelt waar kopieën en verplaatste bestanden terechtkomen en maakt onderscheid tussen een lege directory verwijderen en een hele boom verwijderen. Lees het commando als een bewerking op specifieke bron- en bestemmingspaden om onbedoeld overschrijven en verwijderen te voorkomen.

4.1 Maak bestanden en directory's

mkdir maakt directory's en touch maakt lege bestanden of werkt bestaande tijdstempels bij. Dit zijn verschillende handelingen: een directory biedt plaats aan vermeldingen, terwijl een leeg bestand al een bestand is, ook al bevat het geen gegevens.

Maak eerst de directory

mkdir drafts maakt één directory onder je huidige locatie. mkdir drafts final maakt twee directory's op hetzelfde niveau. Als een gevraagde naam al bestaat, meldt mkdir zonder extra opties File exists.

De bovenliggende directory's van een pad moeten normaal al bestaan. Als reports ontbreekt, kan mkdir reports/2026/q1 de gevraagde locatie niet bereiken. Voeg -p toe om ontbrekende bovenliggende directory's te maken:

mkdir -p reports/2026/q1

Dit maakt elk ontbrekend niveau en accepteert niveaus die al als directory bestaan. Het commando herhalen is handig als je een structuur voorbereidt waarvan bestaande delen moeten blijven staan. Een bestaand gewoon bestand wordt er niet door in een directory veranderd.

Voeg lege bestanden toe

touch todo.txt maakt een bestand van nul bytes als die naam ontbreekt. Als het bestand bestaat, behoudt touch de inhoud en werkt het de toegangs- en wijzigingstijd bij. Het is geen commando om een bestand leeg te maken. Je kunt meerdere bestanden opgeven, zoals in touch a.txt b.txt, of een tijdstempel kiezen met touch -d 2025-01-31 old.txt.

Bestanden met inhoud komen normaal van een programma dat gegevens opslaat, zoals een teksteditor. Als je een bestand met touch maakt, krijgt het een naam en een lege inhoud; er wordt geen tekst voor je toegevoegd.

Bouw een klein project

Begin in je homedirectory en voer uit:

mkdir -p website/css website/images
touch website/index.html website/css/style.css
ls -R website

De eerste regel maakt website en de twee onderliggende directory's. De tweede zet index.html in website en style.css in website/css. Geen van beide bestanden komt in images. In de recursieve bestandslijst bevat website: de namen css, images en index.html; website/css: bevat style.css; website/images: bevat geen gewone vermeldingen.

Let op dat het commando touch de bovenliggende directory's nodig heeft die met mkdir zijn gemaakt. Als je die twee stappen omkeert, mislukt het wanneer website nog niet bestaat.

Verwijder een lege directory

rmdir website/images verwijdert die lege directory. rmdir website/css mislukt zolang style.css erin staat. Ook een verborgen vermelding maakt een directory niet-leeg, dus bekijk de inhoud met ls -A als de gewone bestandslijst leeg lijkt.

rmdir -p reports/2026/q1 verwijdert q1 en probeert dan 2026 en vervolgens reports te verwijderen. Het stopt zodra een bovenliggende directory niet leeg is. Die optie werkt omhoog, terwijl mkdir -p ontbrekende bovenliggende directory's omlaag opbouwt.

Spaties scheiden nog steeds argumenten. mkdir My Project vraagt om twee directory's; mkdir "My Project" vraagt om één. Een eenvoudige naam zoals my-project vermijdt de spatie. De namen Reports en reports zijn verschillend, dus gebruik dezelfde hoofdletters in het aanmaakcommando en in latere paden.

Belangrijkste punten

  • mkdir maakt directory's; -p maakt ook ontbrekende bovenliggende directory's.
  • touch maakt een ontbrekend leeg bestand of werkt een bestaand bestand bij zonder het leeg te maken.
  • Maak bovenliggende directory's voordat je daarin bestanden maakt.
  • rmdir verwijdert alleen lege directory's, dus ook zonder verborgen vermeldingen.

4.2 Kopieer, verplaats en hernoem

Bij kopiëren blijft de bron staan. Bij verplaatsen verandert de naam of locatie. Om het resultaat van beide handelingen te voorspellen, bekijk je het bronpad, het bestemmingspad en of de bestemming al bestaat.

Voorspel de bestemming van een kopie

cp notes.txt notes-backup.txt maakt een tweede bestand met de naam notes-backup.txt. Als Documents een bestaande directory is, maakt cp notes.txt Documents/ daarentegen Documents/notes.txt. De afsluitende schuine streep geeft aan dat je naar een directory wilt kopiëren.

Bij meerdere bronnen moet het laatste argument een bestaande directory zijn. cp cv.pdf letter.txt backup/ zet beide genoemde bestanden in backup. Een ontbrekende bestemmingsdirectory wordt door dit commando niet automatisch gemaakt.

Directory's moeten recursief worden gekopieerd. cp website website-old slaat de directory over omdat geen recursieve optie is opgegeven. cp -r website website-old kopieert de boom, maar het resultaat hangt af van de bestemming:

Vóór het kopiërenLocatie van de gekopieerde boom
website-old bestaat nietwebsite-old/index.html, enzovoort
website-old bestaat als directorywebsite-old/website/index.html, enzovoort

Een bestaande bestemmingsdirectory ontvangt de brondirectory onder de eigen naam van die brondirectory. De bestemmingsdirectory wordt niet automatisch vervangen door de inhoud van de bron.

Verplaats of hernoem

mv draft.txt final.txt hernoemt een bestand. mv final.txt Documents/ verplaatst het naar een bestaande directory. mv website site hernoemt een directory als site ontbreekt en heeft geen recursieve optie nodig.

Binnen één bestandssysteem verandert een verplaatsing normaal directoryvermeldingen zonder alle gegevens te kopiëren. Bij verplaatsing tussen bestandssystemen kan het nodig zijn gegevens te kopiëren en te verwijderen, waardoor een grote verplaatsing niet direct klaar hoeft te zijn.

Als archive niet bestaat, hernoemt mv notes.txt archive het bestand naar archive. mv notes.txt archive/ vereist daarentegen een directory en mislukt als die ontbreekt. Gebruik de schuine streep als een nieuwe bestandsnaam het verkeerde resultaat zou zijn.

Bepaal wat er wordt vervangen en bewaard

cp en mv zonder extra opties kunnen een bestaand bestemmingsbestand overschrijven zonder te vragen. -i vraagt vóór vervanging; -n slaat bestaande bestemmingen over; -v toont de acties. Aliassen kunnen opties toevoegen, dus gebruik type cp of type mv als het waargenomen gedrag afwijkt.

Een nieuw gemaakte gewone kopie krijgt een nieuwe wijzigingstijd. cp -p behoudt tijdstempels en toegangsrechten, terwijl cp -a de eigenschappen van een directoryboom recursief behoudt en handig is voor back-ups. Ga er niet van uit dat een gewone kopie de tijd van de bron behoudt alleen omdat de inhoud overeenkomt.

Volg een volledige bewerking

Maak vanuit /home/sam eerst backup. cp projects/notes.txt backup/ maakt backup/notes.txt. Daarna verandert mv backup/notes.txt backup/notes-2026.txt alleen de naam van de kopie. Ten slotte maakt cp -r projects/website backup/ de directory backup/website, inclusief de bestanden daarin. De originelen projects/notes.txt en projects/website blijven staan waar ze stonden, omdat geen van beide de bron van een verplaatsing was.

Belangrijkste punten

  • cp laat de bron staan; mv verandert de naam of locatie.
  • Een bestaande bestemmingsdirectory ontvangt de bron onder de naam van de bron.
  • Bij meerdere bronnen moet het laatste argument een directory zijn.
  • cp -r kopieert een boom; mv heeft geen recursieve optie nodig.
  • -i vraagt vóór overschrijven en -n slaat een bestaande bestemming over.
  • cp -p behoudt tijdstempels en toegangsrechten; cp -a behoudt recursief een directoryboom.

4.3 Verwijder bestanden en directory's veilig

rm verwijdert de bestanden die in de argumenten worden genoemd. Anders dan wanneer je in een grafische bestandsbeheerder iets naar de prullenbak verplaatst, zet het commando ze niet in een prullenbak. Na verwijdering kun je bestanden normaal via een back-up herstellen.

Kies het juiste verwijdercommando

rm old.txt verwijdert één bestand en rm a.txt b.txt verwijdert meerdere opgegeven bestanden. rm old zonder extra opties weigert als old een directory is. rmdir old of GNU rm -d old verwijdert een directory alleen als die leeg is. rm -r old verwijdert recursief de inhoud en daarna de directory zelf.

Dat onderscheid is nuttig als je een lege directory verwacht. Als rmdir mislukt met Directory not empty, krijg je de kans om onverwachte inhoud te bekijken. Recursief verwijderen zou ook die inhoud verwijderen.

Bepaal bewust wanneer om bevestiging wordt gevraagd
OptieEffect
-iVraag vóór elke verwijdering
-IVraag eenmaal vóór het verwijderen van meer dan drie bestanden of vóór recursief verwijderen
-fVraag niet; negeer ontbrekende namen
-vToon verwijderacties

Bij gewone interactieve invoer kan rm ook om bevestiging vragen voor een tegen schrijven beveiligd bestand. -f onderdrukt die vraag. De verwijdering wordt daardoor niet herstelbaar en niet elke mogelijke reden waarom een commando kan mislukken, verdwijnt.

Controleer de exacte doelen

Gebruik deze werkwijze vóór een verwijdering die meerdere namen kan raken:

  1. Voer pwd uit om je locatie te controleren.
  2. Toon de exacte namen of het patroon dat je wilt verwijderen.
  3. Bekijk de lijst, ook of er directory's zijn geselecteerd.
  4. Gebruik dezelfde doeluitdrukking met rm en voeg -i toe als bevestiging helpt.

Stel dat de directory draft1.tmp, draft2.tmp, final.txt en notes.tmp bevat. ls *.tmp toont de drie tijdelijke bestanden. rm -i *.tmp vraagt naar die drie namen; final.txt komt niet overeen. Met n sla je een bestand over en met y bevestig je de verwijdering.

Houd de spelling van het pad intact

Een spatie is ook in een gevaarlijk commando een woordgrens. Als je een spatie tussen ~/ en een onderliggende naam zet, verander je één pad ten opzichte van de homedirectory in twee afzonderlijke doelen. Controleer de hele regel voordat je op Enter drukt. Vermijd geforceerde recursieve verwijdering bij gewoon opruimen als een gerichter commando volstaat. GNU rm beschermt standaard / zelf; die bescherming beschermt niet elk pad onder / tegen een verkeerd patroon.

Een streepje aan het begin kan voor een optie worden aangezien. rm -- -draft.txt beëindigt de optieverwerking vóór de bestandsnaam. Ook rm ./-draft.txt duidt het bestand ondubbelzinnig aan. Gebruik bij een spatie binnen een naam rm "old notes.txt"; de versie zonder aanhalingstekens noemt old en notes.txt afzonderlijk.

Een fout moet je onderzoeken; sterkere rechten zijn niet standaard de oplossing. Als verwijderen mislukt, controleer dan of het doel een directory is, of het pad klopt en wat de melding precies zegt. Als je een verkeerd getypt commando met beheerdersrechten herhaalt, kan de fout meer gevolgen hebben.

Belangrijkste punten

  • rm verwijdert direct; het stuurt bestanden niet naar een prullenbak.
  • Gebruik rmdir voor een lege directory en rm -r voor een boom.
  • Controleer de werkdirectory en de exacte doelen voordat je verwijdert.
  • -i vraagt per doel om bevestiging; -f onderdrukt vragen en negeert ontbrekende namen.
  • Spaties, aanhalingstekens en streepjes aan het begin veranderen hoe verwijderargumenten worden gelezen.
5

Selecteer bestanden met jokertekens

Een jokerteken kan één kort patroon in veel bestandsnamen veranderen. Bash voert die vergelijking uit voordat het commando start, zodat hetzelfde patroon kan dienen om bestanden te tonen, kopiëren of verwijderen. Je bepaalt precies welke namen overeenkomen, houdt rekening met hoofdletters en verborgen vermeldingen en ziet hoe afscherming verandert wat een programma ontvangt. Accolade-expansie voegt nog een handig hulpmiddel toe: die levert ook nieuwe namen op als er geen bestanden met die namen bestaan.

5.1 Selecteer overeenkomende bestandsnamen met *, ? en [ ]

Een bestandsnaampatroon is een patroon voor bestandsnamen. Bash vervangt een niet-afgeschermd patroon door overeenkomende bestaande namen voordat het commando start. Je kunt hetzelfde patroon gebruiken met ls, cp, mv of een ander commando dat die namen accepteert.

Vergelijk een naam onderdeel voor onderdeel
PatroononderdeelWaarmee het overeenkomt
*Elke reeks tekens, ook geen tekens
?Precies één teken
[12]Eén teken: 1 of 2
[0-9]Eén cijfer in het bereik
[!0-9]Eén teken buiten het cijferbereik

Een patroon komt overeen met de hele naam. report* komt overeen met report omdat de ster met geen enkel teken mag overeenkomen. beach?.jpg komt overeen met beach1.jpg, maar niet met beach10.jpg: twee cijfers passen niet op één vraagteken. beach[12].jpg beperkt die ene plaats tot 1 of 2.

Neem voor een uitgewerkte selectie aan dat photos de namen beach1.jpg, beach2.jpg, beach10.jpg, city1.jpg, city2.png, IMG_01.JPG, notes.txt en .index bevat. Het patroon *.jpg komt overeen met de drie strandfoto's en city1.jpg. city* komt ook overeen met city2.png, omdat het patroon het begin beperkt en niet de extensie. [!b]* komt overeen met namen waarvan het eerste teken geen b is en laat zowel de strandnamen als het verborgen .index weg.

Houd rekening met hoofdletters en punten aan het begin

De vergelijking is standaard hoofdlettergevoelig. *.jpg selecteert IMG_01.JPG niet. Het patroon *.[jJ][pP][gG] accepteert op elke plaats in de extensie zowel een hoofdletter als een kleine letter en omvat dus beide schrijfwijzen.

Bij de gewone vergelijking in Bash vereist een punt aan het begin een expliciete punt aan het begin van die padcomponent. * slaat .index over; .i* selecteert die naam. Deze regel geldt ook binnen een directory: photos/* slaat verborgen namen in photos over. Het patroon levert niet alsnog verborgen bestanden op omdat ls -a het ontvangende commando is; de expansie heeft al plaatsgevonden voordat ls start.

Een jokerteken gaat niet over / heen. photos/*.jpg selecteert overeenkomsten direct binnen photos. */notes.txt selecteert een overeenkomend bestand precies één directoryniveau onder de huidige directory. Het doorzoekt niet alle diepere directory's.

Lees tekenverzamelingen zorgvuldig

[abc] biedt één tekenpositie, geen keuze tussen volledige bestandsnamen. Een ! of ^ aan het begin keert de verzameling om. Een bereik zoals [a-f] volgt de regels van de taal- en regio-instellingen, die de volgorde en vergelijking kunnen beïnvloeden. Benoemde klassen gebruiken nog een paar haken: [[:digit:]], [[:upper:]] en [[:lower:]]. De indeling van tekens volgt de taal- en regio-instellingen; kleine letters zijn niet beperkt tot de ASCII-letters a tot en met z.

Bestandsnaampatronen en reguliere expressies gebruiken verschillende regels. In een bestandsnaampatroon is een punt een letterlijke punt en is * al een volledige instructie voor “een willekeurige reeks”. Neem de betekenis van . of * uit een tekstzoekpatroon niet over als je voorspelt welke bestandsnamen overeenkomen.

Belangrijkste punten

  • Bash expandeert bestandsnaampatronen naar overeenkomende bestaande namen voordat een commando wordt uitgevoerd.
  • * komt overeen met nul of meer tekens; ? en een verzameling tussen haken elk met één teken.
  • Hoofdletters en een punt aan het begin beïnvloeden de overeenkomst.
  • Jokertekens werken binnen één padcomponent en gaan niet over / heen.
  • Tekenbereiken en tekenklassen hangen af van de taal- en regio-instellingen.
  • Bestandsnaampatronen en reguliere expressies interpreteren symbolen anders.

5.2 Gebruik jokertekens veilig in commando's

Een programma ontvangt de namen die Bash oplevert, niet de expressie met jokertekens waarmee ze zijn geselecteerd. Daarom is vooraf bekijken nuttig: je kunt de geselecteerde argumenten controleren voordat een commando bestanden wijzigt.

Eerst expanderen, dan uitvoeren

Als notes.txt en todo.txt de enige .txt-namen zijn, ontvangt ls *.txt die twee namen. De shell voert de vergelijking uit; daarna kan ls elk argument volgens zijn eigen regels tonen. Overeenkomende directory's tellen ook als namen, dus een patroon garandeert niet dat elk doel een gewoon bestand is.

echo *.tmp toont de geëxpandeerde woorden zonder bestanden te wijzigen. ls -d -- *.tmp toont de overeenkomende vermeldingen zelf, inclusief eventuele directoryvermeldingen, in plaats van hun inhoud. Bij eenvoudige bestandsnamen kun je met deze voorvertoningen de selectie gemakkelijk controleren voordat je kopieert, verplaatst of verwijdert.

In de standaardinstelling van Bash blijft een patroon zonder overeenkomst ongewijzigd. Als er geen .pdf-naam bestaat, toont echo *.pdf de tekst *.pdf; ls *.pdf probeert die letterlijke naam te benaderen en meldt dat die niet bestaat. Een getoonde ster kan dus wijzen op het ontbreken van overeenkomsten, niet op een echte lijst geselecteerde bestanden.

Bepaal wie het patroon moet zien

Aanhalingstekens stoppen de expansie van jokertekens. echo '*.txt', echo "*.txt" en echo \*.txt tonen alle drie het letterlijke patroon. echo *.txt vraagt Bash daarentegen om bestaande overeenkomende namen te selecteren. Afscherming is passend als het programma zelf speciale tekens moet ontvangen of als een echt bestand een ster in de naam heeft.

Houd die keuze los van het afschermen van spaties. Een bestandsnaam die door bestandsnaamexpansie wordt geselecteerd, blijft één argument, ook als de geselecteerde naam een spatie bevat. Maar een variabele met een pad moet je bij gebruik normaal tussen dubbele aanhalingstekens zetten, omdat de expansie zonder aanhalingstekens in woorden kan worden gesplitst.

Controleer de bestemming van het commando

cp *.jpg ~/backup/ kopieert overeenkomende namen naar een bestaande back-updirectory. mv draft* archive/ verplaatst overeenkomende namen naar een bestaande archiefdirectory. Een afsluitende schuine streep vereist een directory als bestemming. Daardoor merk je een ontbrekende bestemming eerder op, in plaats van één bron ongemerkt te hernoemen.

Een ruim patroon * omvat ook directory's. cp * backup/ kopieert gewone bestanden, maar slaat directory's over zonder recursief kopiëren. Als je -r toevoegt, worden directory's meegenomen, ook backup zelf wanneer die in de huidige directory staat; cp weigert die directory dan naar zichzelf te kopiëren. Zet een back-up buiten de geselecteerde bronnen of kies een beperkter patroon.

Spaties veranderen de selectie. *.tmp is één patroon; * .tmp is een ruim patroon plus een afzonderlijk argument met een puntnaam. Bekijk vooraf de daadwerkelijke expressie die je gaat gebruiken.

Maak nieuwe namen met accolades

Accolade-expansie schrijft woorden uit ongeacht of ze bestaan:

mkdir -p project/{src,docs,tests}
touch file{1..3}.txt
cp notes.txt{,.bak}

De eerste regel maakt drie benoemde onderliggende directory's. De tweede levert file1.txt, file2.txt en file3.txt op. De laatste expandeert naar cp notes.txt notes.txt.bak; de eerste keuze tussen de accolades is leeg. Gebruik accolades om namen te maken en bestandsnaampatronen om bestaande namen te selecteren.

Belangrijkste punten

  • Bekijk het daadwerkelijke patroon vooraf voordat je een commando gebruikt dat bestanden wijzigt.
  • Zonder overeenkomst blijft het patroon in de standaardinstelling van Bash letterlijk staan.
  • Aanhalingstekens of een backslash houden jokertekens letterlijk.
  • Bestandsnaampatronen selecteren zowel directory's als gewone bestanden.
  • Accolade-expansie maakt ook woorden als overeenkomende bestanden niet bestaan.
6

Hergebruik commando's en werk met variabelen

Een shell kan je commando's onthouden en waarden bewaren die je opnieuw gebruikt. De geschiedenis bespaart typen, variabelen geven nuttige waarden een naam en de omgeving geeft geselecteerde waarden door aan pas gestarte programma's. De omgevingsvariabele PATH vertelt Bash waar het naar programmabestanden moet zoeken. Je verbindt deze functies met afscherming, het opzoeken van commando's en opstartbestanden, zodat je kunt uitleggen wat nu werkt en wat een latere terminalsessie overneemt.

6.1 Haal commando's uit de geschiedenis op en hergebruik ze

Bash houdt een geschiedenislijst bij van commando's die in de shell zijn ingevoerd. Je kunt een regel ophalen, bekijken, één onderdeel wijzigen en de bewerkte versie uitvoeren. Dat is vooral handig bij een lang pad of een combinatie van opties die je onlangs gebruikte.

Haal een regel op voordat je die uitvoert

Met de pijltjestoetsen omhoog en omlaag loop je door eerdere commando's. De opgehaalde regel wordt bewerkbare invoer; die wordt pas uitgevoerd als je op Enter drukt. history toont de genummerde lijst en history 5 beperkt de uitvoer tot recente vermeldingen.

Ctrl+R zoekt achterwaarts. Typ een deel van een commando, zoals mkdir, om de laatste overeenkomende regel te vinden. Druk opnieuw op Ctrl+R voor een oudere overeenkomst. Enter voert het getoonde commando uit en Ctrl+G annuleert de zoekopdracht. Lees het hele resultaat, want het overeenkomende fragment kan voorkomen in meerdere commando's met verschillende paden.

Begrijp verkortingen met uitroeptekens

Geschiedenisexpansie herschrijft expressies vóór de uitvoering:

ExpressieHergebruikte tekst
!!Het vorige commando
!42Gebeurtenis 42 uit de geschiedenis
!lsHet laatste commando dat met ls begint
!$Het laatste argument van het vorige commando

Direct na mkdir -p reports/2026 expandeert cd !$ bijvoorbeeld naar cd reports/2026. De verkorting verwijst naar het vorige commando, dus een ander commando tussen die regels zou veranderen wat !$ selecteert. Om een genummerd commando te herhalen, gebruik je het gebeurtenisnummer; om het laatste argument te hergebruiken, gebruik je in de juiste context een woordverkorting.

Expansie toont normaal het geëxpandeerde commando en voert het direct uit. De weergave is geen bevestigingsvraag. Een toevoeging :p, zoals in !rm:p, toont de expansie zonder die uit te voeren. Ophalen met een pijltjestoets of Ctrl+R is vaak gemakkelijker als je een mogelijk ingrijpende regel wilt bekijken en bewerken. Je kunt sudo !! tegenkomen om het laatste commando met beheerdersrechten te herhalen; bekijk de beoogde handeling voordat je beslist of extra rechten passend zijn.

Weet wat wordt opgeslagen

De actieve shell bewaart de geschiedenis in het geheugen. Bij afsluiten schrijft de shell die normaal naar het bestand dat HISTFILE aangeeft, meestal ~/.bash_history. Elke terminal heeft een eigen lijst in het geheugen, dus twee open terminals hoeven op dat moment niet dezelfde geschiedenis te tonen.

HISTSIZE beperkt het aantal commando's dat in het geheugen wordt bewaard. De ingebouwde standaardwaarde van Bash is 500, al veranderen distributies die vaak. HISTFILESIZE beperkt het aantal regels in het opgeslagen geschiedenisbestand. Deze instellingen regelen verschillende plaatsen, dus als je de ene wijzigt, heb je niet beide limieten gewijzigd.

HISTCONTROL=ignorespace laat regels weg die met een spatie beginnen; ignoredups laat een regel weg die identiek is aan de vorige; ignoreboth combineert beide. Dit zijn configuratiekeuzes, geen reden om aan te nemen dat een willekeurige terminal een commando niet vastlegt. history -d 42 verwijdert een vermelding en history -c wist de huidige lijst in het geheugen.

Wachtwoorden in commandoargumenten kunnen in de geschiedenis worden opgeslagen. Laat een programma via zijn eigen prompt om een wachtwoord vragen in plaats van het op de commandoregel te zetten.

Belangrijkste punten

  • Met de pijltjestoetsen en Ctrl+R kun je een commando bekijken voordat je op Enter drukt.
  • !!, genummerde gebeurtenissen, voorvoegsels en !$ verwijzen naar verschillende eerdere tekst.
  • Geschiedenisexpansie voert normaal direct uit; :p toont zonder uit te voeren.
  • De actieve geschiedenislijst en het opgeslagen geschiedenisbestand hebben afzonderlijke limieten.
  • Zet geen wachtwoorden in commandoargumenten.

6.2 Stel shellvariabelen en omgevingsvariabelen in en gebruik ze

Een variabele geeft een waarde een naam. Bash kan die waarde in latere commandoregels invullen. Een omgevingsvariabele wordt ook doorgegeven aan programma's die vanuit die shell worden gestart, zodat die programma's instellingen zoals de taal of locatie van de homedirectory kunnen lezen.

Ken een waarde toe en lees die

Schrijf een toekenning zonder spaties rond =:

city=Lisbon
echo "$city"
echo "${city}_trip"

De eerste regel slaat Lisbon op; de volgende regels tonen Lisbon en Lisbon_trip. Accolades geven aan waar de variabelenaam eindigt. Zonder accolades betekent $city_trip een andere variabele met de naam city_trip.

city = Lisbon is geen toekenning: Bash probeert een commando met de naam city met twee argumenten uit te voeren. Namen zijn hoofdlettergevoelig en mogen letters, cijfers en underscores bevatten, maar mogen niet met een cijfer beginnen. Het lezen van een niet-ingestelde variabele geeft bij gewoon gebruik van Bash een lege waarde. unset city verwijdert de waarde.

Kies passende aanhalingstekens
InvoerWat Bash doet
echo "$HOME"Expandeert HOME en houdt het resultaat bij elkaar
echo '$HOME'Geeft de letterlijke tekst $HOME door
echo \$HOMESchermt het dollarteken af en toont ook $HOME

Na greeting="Good morning" toont echo "$greeting, $USER" de begroeting en accountnaam als één argument. Zet een variabele die als pad wordt gebruikt tussen dubbele aanhalingstekens als de waarde spaties kan bevatten. Enkele aanhalingstekens houden alles ertussen letterlijk, inclusief het dollarteken. Ze kunnen dus niet hetzelfde doel dienen als dubbele aanhalingstekens wanneer je een variabele wilt expanderen.

Geef instellingen door aan kindprogramma's

Een gewone toekenning maakt een shellvariabele. export city markeert die voor de omgeving; export city=Lisbon combineert beide handelingen. Vergelijk:

city=Lisbon
bash -c 'echo $city'
export city
bash -c 'echo $city'

Als city niet eerder was geëxporteerd, toont de eerste kindshell een lege regel. Na de export ontvangt een pas gestart kindproces Lisbon. Export geeft bij het starten een kopie door; het werkt programma's die al draaien niet bij.

env en printenv tonen omgevingsvermeldingen, terwijl printenv HOME er één toont. set toont ook shellvariabelen en functies. Veelvoorkomende instellingen zijn HOME voor de homedirectory, USER voor de gebruiker, PWD voor de werkdirectory, SHELL voor de loginshell, LANG voor taal en regionale notaties en PATH voor het opzoeken van programma's. Namen met kleine letters voor je eigen waarden voorkomen conflicten met deze gebruikelijke namen in hoofdletters.

Bepaal de levensduur en het opstartgedrag

Een toekenning vóór één commando geeft alleen aan dat commando een instelling door: TZ=Asia/Tokyo date toont de tijd in Tokio zonder de tijdzone-instelling van de shell te vervangen. LC_ALL=C ls --help vraagt om onvertaalde meldingen.

Een niet-opgeslagen instelling bij de prompt hoort bij die shell; een aparte terminal openen maakt de instelling niet blijvend. Zet een terugkerende instelling zoals export EDITOR=nano in ~/.bashrc voor interactieve Bash-shells die geen loginshell zijn. Loginshells lezen profielbestanden, die dat bestand vaak laden. Een nieuwe shell die geen loginshell is, leest de opgeslagen instelling; source ~/.bashrc past het bestand toe in de huidige shell.

Belangrijkste punten

  • Toekenningen hebben geen spaties rond =; $name leest de waarde.
  • Dubbele aanhalingstekens staan expansie toe en behouden spaties; enkele aanhalingstekens houden tekst letterlijk.
  • export geeft een variabele door aan kindprogramma's die daarna worden gestart.
  • env toont de omgeving; set toont ook shellvariabelen en functies.
  • Een toekenning aan het begin kan alleen één commando beïnvloeden.
  • Opstartbestanden maken opgeslagen instellingen beschikbaar in latere shells.

6.3 Bepaal met PATH hoe de shell commando's vindt

Als je een commandonaam invoert, moet Bash bepalen wat die naam betekent. Het kan een alias, functie, ingebouwd commando of programmabestand zijn. PATH bepaalt hoe naar programmabestanden wordt gezocht bij een naam zonder schuine streep.

Lees de zoeklijst

PATH bevat directorynamen die door dubbele punten zijn gescheiden, bijvoorbeeld /usr/local/bin:/usr/bin:/bin. echo "$PATH" toont de lijst. Bash bekijkt eerst betekenissen die in de shell zijn gedefinieerd; voor de naam van een extern programma doorzoekt Bash de vermelde directory's van links naar rechts en gebruikt het eerste overeenkomende uitvoerbare bestand.

De directorynamen zijn van belang, niet het feit dat een programma ergens is geïnstalleerd. Een bestand buiten de zoeklijst wordt niet op alleen de naam gevonden. Alledaagse programma's staan vaak onder /usr/bin of /bin; beheerprogramma's gebruiken /usr/sbin of /sbin; lokale installaties gebruiken vaak /usr/local/bin. Persoonlijke programma's kunnen onder ~/bin of ~/.local/bin staan.

Als twee PATH-directory's een programma met dezelfde naam bevatten, krijgt bij een nieuwe zoekopdracht de eerdere directory voorrang.

Bekijk het actieve commando

type cd geeft een ingebouwd shellcommando aan. type ls kan /usr/bin/ls aangeven of een alias voor kleur melden. type -a echo toont de ingebouwde en externe overeenkomsten. which ls meldt normaal een programmapad uit PATH, maar kan shellfuncties missen die type kent. Gebruik type als je wilt begrijpen wat Bash daadwerkelijk gaat doen.

Voer een expliciet pad uit

De gebruikelijke PATH bevat de huidige directory niet. Een uitvoerbaar bestand met de naam backup in de huidige directory heeft daarom ./backup nodig, tenzij de directory in PATH staat. Een commandonaam met / duidt rechtstreeks een locatie aan:

./backup
/home/sam/bin/backup

Beide vormen omzeilen de zoekopdracht in PATH. De eerste is relatief ten opzichte van je werkdirectory; de tweede begint bij /. Het bestand moet nog steeds uitvoerbaar zijn. Alleen het bestand kunnen tonen of lezen maakt het niet uitvoerbaar.

Breid uit zonder te vervangen

Om een persoonlijke directory aan het einde toe te voegen, behoud je de bestaande waarde:

export PATH="$PATH:$HOME/bin"

De dubbele punt scheidt de oude lijst van de toegevoegde directory. Met een uitvoerbaar bestand backup in /home/sam/bin kan een later commando backup het nu vinden. Door achteraan toe te voegen, blijft elk eerder overeenkomend programma vóór je nieuwe directory staan. Als je de nieuwe directory eerst zou zetten, zou dat veranderen welke dubbele naam voorrang krijgt.

PATH=$HOME/bin verwijdert daarentegen elke bestaande directory uit de waarde. Externe commando's zoals ls werken mogelijk niet meer met alleen hun naam. Als je een nieuwe terminal met de normale opstartconfiguratie opent, wordt de normale PATH hersteld; voor de huidige shell biedt export PATH=/usr/local/bin:/usr/bin:/bin een eenvoudige herstellijst. Ingebouwde commando's kunnen nog werken omdat ze niet via PATH worden gevonden.

Om een gewenste toevoeging voor nieuwe interactieve shells die geen loginshell zijn te behouden, sla je de exportregel op in ~/.bashrc.

Belangrijkste punten

  • PATH is een door dubbele punten gescheiden lijst die voor externe commando's van links naar rechts wordt doorzocht.
  • type meldt ook aliassen, functies en ingebouwde commando's.
  • Een commando met / duidt rechtstreeks een pad aan en omzeilt PATH.
  • Behoud $PATH als je de lijst uitbreidt.
  • De zoekvolgorde bepaalt welk extern programma voorrang krijgt als namen dubbel voorkomen.

Linux-commandoregel: voorbeelden

6 Walkthroughs

1

Bouw en lees een commando

11 stappen
Lees een prompt, gebruik de basistoetsen en bouw ondubbelzinnige commandoregels.
  1. 1
    IntroductieLees een terminalsessie

    Een terminal toont een interactie: je typt een commando, de shell interpreteert het en een eventueel resultaat verschijnt eronder. De prompt geeft aan waar een volgende regel kan beginnen.

    We lezen die prompt, gebruiken een paar toetsen en bouwen een commando waarvan de spaties en opties precies betekenen wat we bedoelen. Het doel is de regel te begrijpen voordat je op Enter drukt.

  2. 2
    UitlegHerken de shell en het venster

    De shell is de interpreter. De terminal is het venster dat de invoer en uitvoer toont. Bash is een veelgebruikte Linux-shell; ook een ander terminalvenster kan Bash uitvoeren.

    In sam@laptop:~$ geeft de prompt sam op laptop aan, werkend in de homedirectory. Het afsluitende dollarteken duidt volgens afspraak een gewone gebruiker aan. Typ dat promptteken niet wanneer je een voorbeeldcommando invoert.

  3. 3
    VoorbeeldVraag wie en waar

    Voer whoami in en lees het resultaat: voor ons voorbeeldaccount is dat sam. Voer daarna pwd in; vanuit de homedirectory toont het /home/sam. Elk commando is een afzonderlijke invoerregel.

    De uitvoer is informatie die het commando teruggeeft, geen tekst die je opnieuw moet typen. Een nieuwe prompt betekent dat de shell klaar is. Een geslaagd commando kan ook stil zijn, dus de lengte van de uitvoer is geen maat voor succes.

  4. 4
    TipVul aan, annuleer of sluit af

    Begin een directorynaam te typen en druk op Tab om die aan te vullen. Als meerdere namen passen, voeg je meer tekens toe of druk je tweemaal op Tab om mogelijkheden te zien. Aanvullen volgt de werkelijke spelling en hoofdletters van bestaande namen.

    Ctrl+C annuleert invoer of onderbreekt een programma op de voorgrond. Ctrl+D op een lege regel beëindigt de shell. In een tekstviewer voor manpagina's sluit q de pagina af; dezelfde toetsaanslag heeft een andere betekenis dan een commando dat je bij de shellprompt typt.

  5. 5
    UitdagingKies de toets om te herstellen

    Je hebt ls-l getypt, merkt de ontbrekende spatie op en wilt de hele invoerregel weggooien voordat die wordt uitgevoerd. Met welke toets krijg je een nieuwe invoerregel?

    ---reveal---

    Druk op Ctrl+C. Daarmee annuleer je de wachtende invoer zonder die uit te voeren. Ctrl+L maakt daarentegen het scherm leeg; dat is niet hetzelfde als weggooien wat je hebt getypt. Je kunt de regel ook wijzigen in ls -l, maar hier wordt om annuleren gevraagd.

  6. 6
    UitlegGeef elk woord een taak

    Lees ls -l /etc als drie woorden met drie taken. ls geeft het commando aan, -l verandert de werking en /etc geeft aan wat moet worden getoond. Door de spaties ertussen kan Bash die onderdelen afzonderlijk doorgeven.

    Korte opties hebben één streepje; lange opties hebben er twee. ls -la combineert -l en -a, terwijl ls --all één lange optie is. Sommige opties hebben ook waarden nodig; de hulptekst vermeldt welke.

  7. 7
    VoorbeeldHoud een naam met spaties bij elkaar

    Stel dat een bestand “Annual Report.pdf” heet. Als je ls Annual Report.pdf typt, geef je twee bestandsargumenten op omdat de niet-afgeschermde spatie woorden scheidt.

    Schrijf ls "Annual Report.pdf" om de naam bij elkaar te houden. Enkele aanhalingstekens werken ook voor deze letterlijke naam, of je kunt de spatie afschermen als Annual\ Report.pdf. De afschermende tekens sturen de shell; ze worden geen tekens in de bestandsnaam.

  8. 8
    KernpuntOpties horen bij hun commando

    Een bekende letter kan in verschillende programma's iets anders betekenen. cp -r kopieert directory's recursief, maar ls -r keert alleen de volgorde om. De optie voor een recursieve bestandslijst is hoofdletter -R.

    Op dezelfde manier maakt ls -h grootten leesbaar; het vraagt niet om hulp. Lees het commando en de optie als een paar. Als je afgaat op een optie bij een ander commando, kun je een geldig commando krijgen dat het verkeerde doet.

  9. 9
    UitdagingMaak één duidelijke bestandslijst

    Een bestand heet “Course Plan.txt”. Hoe vraag je de uitgebreide bestandslijst ervan op zonder om twee afzonderlijke bestanden te vragen?

    ---reveal---

    Gebruik ls -l "Course Plan.txt". De eerste spatie scheidt het commando van de optie en de volgende scheidt de optie van het afgeschermde argument. De spatie binnen de naam blijft binnen één naam. ls-l zou daarentegen een andere commandonaam zijn en Course Plan.txt zonder aanhalingstekens zou twee doelargumenten opleveren.

  10. 10
    UitdagingGa om met twee soorten speciale tekst

    Het bestand dat je moet tonen heet “-old notes.txt”. Je wilt details en moet omgaan met zowel het streepje aan het begin als de spatie binnen de naam. Schrijf hiervoor een GNU-commando met ls.

    ---reveal---

    Gebruik ls -l -- "-old notes.txt". De aanhalingstekens houden de naam bij elkaar, terwijl -- aan ls aangeeft dat de optieverwerking moet stoppen. Aanhalingstekens alleen verwijderen het streepje aan het begin niet, dus lossen ze het spatieprobleem op maar niet het optieprobleem. ls -l "./-old notes.txt" werkt ook.

  11. 11
    SamenvattingLees de regel vóór Enter

    Herken de prompt en lees de ingevoerde regel daarna als een commando met afzonderlijke opties en argumenten. Scherm spaties binnen namen af, controleer de betekenis van opties voor het gebruikte commando en gebruik aanvullen om typefouten te verminderen.

    Als invoer verkeerd gaat, annuleer of bewerk je die voordat je de regel uitvoert; als een programma het scherm overneemt, gebruik je de eigen afsluit- of onderbreekactie.

2

Vind de commandowerking die je nodig hebt

10 stappen
Gebruik handleidingnotatie, zoekopdrachten, hulp voor ingebouwde commando's en foutmeldingen om een taak op te lossen.

Sla deze les op om elke Walkthrough stap voor stap te volgen.

  1. 1
    IntroductieVind een antwoord in de hulp
  2. 2
    UitlegOpen de handleiding voor het commando
  3. 3
    VoorbeeldInterpreteer optionele en herhaalde onderdelen
  4. 4
    TipZoek en keer terug naar de prompt
  5. 5
    UitdagingKies de pagina die je nodig hebt
  6. 6
    VerbandKies hulp op basis van het soort commando
  7. 7
    VoorbeeldLees de reden van een fout
  8. 8
    UitdagingKies een naslagbron voor een ingebouwd commando
  9. 9
    UitdagingGa van doel naar werkend commando
  10. 10
    SamenvattingKies een naslagbron die bij de vraag past
3

Navigeer door een directoryboom en bekijk de inhoud

13 stappen
Volg absolute en relatieve paden en kies daarna bestandslijsten die een specifieke vraag beantwoorden.

Sla deze les op om elke Walkthrough stap voor stap te volgen.

  1. 1
    IntroductieVolg een route door de boom
  2. 2
    UitlegBegin bij de rootdirectory
  3. 3
    VoorbeeldLees een kleine indeling
  4. 4
    UitdagingHerken een verborgen vermelding
  5. 5
    UitlegBepaal het startpunt van de route
  6. 6
    VoorbeeldVolg twee stappen omhoog
  7. 7
    TipGebruik verkortingen voor de homedirectory en vorige locatie
  8. 8
    UitdagingZoek een directory naast de bovenliggende directory
  9. 9
    UitlegVoeg de details toe die je nodig hebt
  10. 10
    VoorbeeldMaak onderscheid tussen grootte en volgorde
  11. 11
    UitdagingKies de bestandslijst die de vraag beantwoordt
  12. 12
    UitdagingVolg een verandering en een inspectie
  13. 13
    SamenvattingHoud locatie en weergave gescheiden
4

Bouw, kopieer, hernoem en ruim op

14 stappen
Volg een directorystructuur tijdens het maken, kopiëren, verplaatsen en verwijderen van een lege directory.

Sla deze les op om elke Walkthrough stap voor stap te volgen.

  1. 1
    IntroductieVoorspel de uiteindelijke indeling
  2. 2
    VoorbeeldMaak de bovenliggende directory's
  3. 3
    VoorbeeldVoeg bestanden toe aan de structuur
  4. 4
    UitdagingControleer wat eerst moet bestaan
  5. 5
    UitlegKopieer één bestand naar een directory
  6. 6
    VoorbeeldKopieer de boom
  7. 7
    VoorbeeldHernoem binnen de kopie
  8. 8
    TipVereis een directory als je die bedoelt
  9. 9
    UitdagingZoek een gekopieerd bestand
  10. 10
    UitlegVerwijder een lege onderliggende directory
  11. 11
    TipControleer het doel vóór verwijdering
  12. 12
    UitdagingKies een actie voor alleen lege directory's
  13. 13
    UitdagingVolg de hele opruimactie
  14. 14
    SamenvattingLees handelingen als veranderingen aan paden
5

Werk een patroon uit voordat je het gebruikt

12 stappen
Voorspel bestandsnaamexpansie, letterlijke patronen en woorden die met accolades worden gemaakt.

Sla deze les op om elke Walkthrough stap voor stap te volgen.

  1. 1
    IntroductieVoorspel een selectie met jokertekens
  2. 2
    UitlegGeef elk symbool de juiste breedte
  3. 3
    VoorbeeldBeperk één positie
  4. 4
    KernpuntHoofdletters en punten blijven van belang
  5. 5
    UitdagingSelecteer exacte overeenkomsten
  6. 6
    UitlegLaat de shell eerst expanderen
  7. 7
    VoorbeeldLees een letterlijk patroon
  8. 8
    UitdagingBepaal wat het programma ontvangt
  9. 9
    TipHoud de bestemming buiten de selectie
  10. 10
    VoorbeeldMaak namen voordat bestanden bestaan
  11. 11
    UitdagingGenereer, verplaats en selecteer
  12. 12
    SamenvattingMaak onderscheid tussen selecteren en genereren
6

Hergebruik commando's en volg overgeërfde instellingen

15 stappen
Volg geschiedenisverwijzingen, afscherming van variabelen, kindomgevingen en het zoeken met PATH.

Sla deze les op om elke Walkthrough stap voor stap te volgen.

  1. 1
    IntroductieHergebruik een regel en een waarde
  2. 2
    UitlegHaal op met de kans om te bewerken
  3. 3
    VoorbeeldBegrijp wat de verkorting hergebruikt
  4. 4
    UitdagingHoud het vorige commando goed bij
  5. 5
    UitlegKen een waarde toe zonder die te splitsen
  6. 6
    VoorbeeldKies wat de aanhalingstekens toestaan
  7. 7
    VoorbeeldDeel een kopie met een kindproces
  8. 8
    UitdagingVoorspel overerving en lokale wijziging
  9. 9
    VerbandKies hoe lang een instelling geldt
  10. 10
    UitlegZoek een extern commando
  11. 11
    VoorbeeldVoeg een persoonlijke directory achteraan toe
  12. 12
    KernpuntEen schuine streep kiest direct een locatie
  13. 13
    UitdagingBehoud de eerdere voorrang
  14. 14
    UitdagingVerbind ophalen, afschermen en opzoeken
  15. 15
    SamenvattingVolg tekst, waarden en bereik

Linux-commandoregel: oefenvragen

50 Oefenvragen in 5 sets

Set 1: Lees commando's, hulp en paden10 Oefenvragen

Vraag 1 van 10

Een terminal toont sam@laptop:~/training$ en is klaar voor invoer. Welke locatie geeft de prompt aan?
  1. De rootdirectory /
  2. De homedirectory /home/sam
  3. De directory /home/training
  4. De directory /home/sam/training
Toon antwoordVerberg antwoord
Antwoord: D
De tilde staat voor de homedirectory van sam en /training geeft een onderliggende directory aan. De prompt geeft dus /home/sam/training aan. Als je alleen de tilde leest, mis je de onderliggende component en plaats je de shell ten onrechte in de homedirectory.

Vraag 2 van 10

Hoe vraag je een uitgebreide bestandslijst op van het ene bestand met de naam “Team Schedule.pdf”?
  1. ls-l "Team Schedule.pdf"
  2. ls -l Team Schedule.pdf
  3. ls -l /Team/Schedule.pdf
  4. ls -l "Team Schedule.pdf"
Toon antwoordVerberg antwoord
Antwoord: D
De spatie na ls scheidt het commando van de optie en de aanhalingstekens houden de bestandsnaam in één argument. Zonder aanhalingstekens geeft Bash twee afzonderlijke namen door, Team en Schedule.pdf. Schuine strepen toevoegen zou een ander pad beschrijven in plaats van de spatie af te schermen.

Vraag 3 van 10

Je hebt een commandoregel getypt maar nog niet op Enter gedrukt. Hoe kun je die weggooien en terugkeren naar een nieuwe prompt?
  1. Druk op Ctrl+C.
  2. Druk op Ctrl+D.
  3. Druk op Ctrl+L.
  4. Druk op omhoog.
Toon antwoordVerberg antwoord
Antwoord: A
Ctrl+C annuleert de invoerregel voordat die wordt uitgevoerd. Ctrl+L maakt alleen het scherm leeg en kan de huidige invoer laten staan. Ctrl+D heeft een andere functie, waaronder het beëindigen van de shell op een lege regel; het is niet de sneltoets om een regel te annuleren.

Vraag 4 van 10

Je hebt documentatie nodig voor het formaat van /etc/passwd, maar man passwd opent het commando om wachtwoorden te wijzigen. Welk commando opent de benodigde pagina?
  1. man -k passwd
  2. man 1 passwd
  3. man 5 passwd
  4. whatis passwd
Toon antwoordVerberg antwoord
Antwoord: C
Handleidingsectie 5 beschrijft bestandsformaten, dus door die op te geven kies je de pagina over het bestandsformaat met dezelfde naam passwd. Sectie 1 is de pagina voor het gebruikerscommando die al werd geopend. Een trefwoordzoekopdracht of beschrijving van één regel kan pagina's aanwijzen, maar selecteert niet rechtstreeks de gevraagde naslagpagina over het formaat.

Vraag 5 van 10

type export meldt dat export een ingebouwd shellcommando is. Hoe kun je de hulp van Bash daarvoor lezen?
  1. help export
  2. export --help
  3. whatis export
  4. info coreutils
Toon antwoordVerberg antwoord
Antwoord: A
Bash biedt documentatie voor ingebouwde commando's via help, dus help export richt zich rechtstreeks op dit commando. Het gebruikelijke --help-patroon van een extern programma toepassen is bij ingebouwde commando's onbetrouwbaar. Het soort commando dat type meldt, vertelt welk hulpsysteem je moet raadplegen.

Vraag 6 van 10

De SYNOPSIS luidt mkdir [OPTION]... DIRECTORY.... Wat is minimaal vereist voor een geldige aanroep?
  1. Eén optie en precies één directorynaam.
  2. Ten minste één directorynaam; opties zijn optioneel.
  3. Ten minste één optie; directorynamen zijn optioneel.
  4. Precies één directorynaam tussen vierkante haken.
Toon antwoordVerberg antwoord
Antwoord: B
De plaatsaanduiding voor de directory staat buiten de optionele vierkante haken, dus is ten minste één directory vereist. Het weglatingsteken staat meer directoryargumenten toe, terwijl de optiegroep tussen haken mag worden weggelaten. Als je elke plaatsaanduiding in hoofdletters als optioneel beschouwt, lees je de gebruiksnotatie verkeerd.

Vraag 7 van 10

Je werkdirectory is /home/sam/labs/module. Welke absolute directory kiest cd ../../downloads?
  1. /home/sam/downloads
  2. /home/downloads
  3. /downloads
  4. /home/sam/labs/downloads
Toon antwoordVerberg antwoord
Antwoord: A
De eerste .. bereikt /home/sam/labs en de tweede bereikt /home/sam. De laatste component gaat daarna naar de onderliggende directory downloads. Als je na slechts één stap omhoog stopt, plaats je de bestemming ten onrechte binnen labs; je moet beide componenten voor de bovenliggende directory volgen.

Vraag 8 van 10

Je wilt details van de directoryvermelding assets zelf, zonder de bestanden erin te tonen. Welk commando doet dat?
  1. ls -l assets
  2. ls -ld assets
  3. ls -lR assets
  4. ls -lA assets
Toon antwoordVerberg antwoord
Antwoord: B
De optie -d geeft ls opdracht de directoryvermelding zelf te tonen en -l voegt de metadata toe. Zonder -d toont ls -l assets vermeldingen binnen die directory. Opties voor verborgen of recursieve vermeldingen veranderen de inhoudsweergave, maar selecteren niet de vermelding van de directory zelf.

Vraag 9 van 10

Gewone ls toont niets in settings, maar ls -A settings toont .localrc. Waarom verschillen de resultaten?
  1. Het bestand hoort bij root en verschijnt alleen met -A.
  2. De punt aan het begin verbergt de vermelding in de gewone lijst.
  3. De directory is leeg totdat een verborgen lijst een bestand maakt.
  4. De extensie maakt de vermelding alleen leesbaar voor speciale commando's.
Toon antwoordVerberg antwoord
Antwoord: B
Een punt aan het begin verbergt een naam in de standaardlijst en -A neemt zulke vermeldingen op. De lijstoptie maakt geen bestanden en verleent geen extra toegang. Een lege gewone bestandslijst kan dus samengaan met een niet-lege directory die verborgen namen bevat.

Vraag 10 van 10

Vanuit /home/sam voer je cd projects uit, daarna ls ../downloads en daarna cd ../photos. Alle genoemde directory's bestaan. In welke directory ben je en welke kiest cd - daarna?
  1. Nu /home/photos; daarna /home/sam/projects.
  2. Nu /home/sam/photos; daarna /home/sam/downloads.
  3. Nu /home/sam/photos; daarna /home/sam/projects.
  4. Nu /home/sam/projects/photos; daarna /home/sam/projects.
Toon antwoordVerberg antwoord
Antwoord: C
Na de eerste verandering ben je in /home/sam/projects; het tonen van ../downloads verandert die locatie niet. De laatste relatieve verandering gaat omhoog naar sam en dan naar photos. cd - keert terug naar de vorige werkdirectory, projects, niet naar de directory die alleen werd getoond.
Set 2: Voorspel veranderingen aan bestanden en directory's10 Oefenvragen

Sla deze les op om elk antwoord te zien en elke set te oefenen.

Vraag 1 van 10

De directory lab bestaat niet. Hoe kun je lab/week2/input en de ontbrekende bovenliggende directory's in één commando maken?
  1. mkdir -p lab/week2/input
  2. touch lab/week2/input
  3. mkdir lab/week2/input
  4. mkdir -r lab/week2/input
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 2 van 10

records bevat jan.csv en stored bestaat al als lege directory. Welk pad bevat het gekopieerde bestand na cp -r records stored?
  1. stored/records/records.csv
  2. stored/jan.csv
  3. records/stored/jan.csv
  4. stored/records/jan.csv
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 3 van 10

agenda.txt bevat vergadernotities. Wat gebeurt er als je touch agenda.txt uitvoert?
  1. De inhoud wordt leeg en de naam blijft hetzelfde.
  2. De inhoud gaat naar een nieuw bestand agenda.txt.bak.
  3. De inhoud blijft intact en de tijdstempels worden bijgewerkt.
  4. De inhoud blijft intact en de tijdstempels blijven hetzelfde.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 4 van 10

rough.txt bestaat en archive niet. Wat doet mv rough.txt archive als mv geen alias is?
  1. Het maakt archive en plaatst rough.txt erin.
  2. Het kopieert het bestand als archive en behoudt rough.txt.
  3. Het weigert omdat een bestand verplaatsen een recursieve optie vereist.
  4. Het hernoemt rough.txt naar de bestandsnaam archive.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 5 van 10

old-cache is een directory die leeg hoort te zijn. Welk commando verwijdert die alleen als die verwachting klopt?
  1. rm -r old-cache
  2. rmdir old-cache
  3. rm -rf old-cache
  4. rm -rv old-cache
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 6 van 10

Een gewoon bestand heet letterlijk -scratch.log. Hoe kan GNU rm zonder alias die naam ontvangen zonder die als opties te lezen?
  1. rm -- -scratch.log
  2. rm -i -scratch.log
  3. rm "-scratch.log"
  4. rm --scratch.log
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 7 van 10

Een nieuw gekopieerd bestand moet de tijdstempels en toegangsrechten van de bron behouden. Welke GNU-commandovorm vraagt daarom?
  1. cp -v source.txt saved.txt
  2. cp -p source.txt saved.txt
  3. cp -i source.txt saved.txt
  4. cp -r source.txt saved.txt
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 8 van 10

unit/part bevat alleen .prefs. Waarom mislukt rmdir unit/part, hoewel gewone ls unit/part leeg lijkt?
  1. rmdir vereist een recursieve optie voor geneste paden.
  2. rmdir kan geen directory onder een andere directory verwijderen.
  3. De verborgen vermelding betekent dat de directory nog niet leeg is.
  4. Een bestand met een punt aan het begin maakt het pad absoluut.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 9 van 10

Vanuit /home/sam bestaat source/item.txt en is saved een lege directory. Je voert cp -r source saved uit en daarna mv saved/source saved/session. Waar staan het origineel en het gekopieerde bestand nu?
  1. Origineel: saved/source/item.txt; kopie: saved/session/item.txt.
  2. Origineel: source/item.txt; kopie: saved/item.txt.
  3. Origineel: source/item.txt; kopie: saved/session/item.txt.
  4. Origineel: source/session/item.txt; kopie: saved/source/item.txt.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 10 van 10

Vanuit /home/sam/work is ../safe een lege directory en bevat part alleen keep.txt. Je voert cp part/keep.txt ../safe/ uit, daarna mv part/keep.txt keep.txt en vervolgens rmdir part. Wat blijft er over?
  1. Beide kopieën staan onder work/part; part blijft bestaan.
  2. safe/part/keep.txt en work/keep.txt; part wordt verwijderd.
  3. Alleen safe/keep.txt; zowel part als het verplaatste bestand wordt verwijderd.
  4. safe/keep.txt en work/keep.txt; part wordt verwijderd.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Set 3: Vergelijk namen en gebruik shellwaarden10 Oefenvragen

Sla deze les op om elk antwoord te zien en elke set te oefenen.

Vraag 1 van 10

Een directory bevat task.txt, task4.txt en task42.txt. Welke naam komt overeen met task?.txt?
  1. Alleen task4.txt
  2. task.txt en task4.txt
  3. task4.txt en task42.txt
  4. Alleen task.txt
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 2 van 10

In de standaardinstelling van Bash zijn er geen overeenkomende .zip-vermeldingen in de werkdirectory. Wat toont echo *.zip?
  1. De namen van alle zichtbare vermeldingen
  2. Een lege regel
  3. No such file or directory
  4. *.zip
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 3 van 10

Je wilt een eerder commando met upload vinden, bekijken en bewerken voordat je het uitvoert. Welke functie is geschikt om het te vinden?
  1. Scherm wissen met Ctrl+L
  2. Achterwaarts zoeken met Ctrl+R
  3. Directe expansie met !upload
  4. Lijst wissen met history -c
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 4 van 10

Welk argument voor het pad ontvangt ls "$folder" na folder="Project Plans"?
  1. Twee namen: Project en Plans
  2. Eén letterlijke naam: "Project Plans"
  3. Eén letterlijke naam: $folder
  4. Eén naam: Project Plans
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 5 van 10

De zichtbare namen zijn rec1.csv, rec2.csv, rec3.csv en rec12.csv. Welke namen komen overeen met rec[!2].csv?
  1. rec1.csv en rec3.csv
  2. rec1.csv en rec12.csv
  3. rec2.csv en rec3.csv
  4. rec3.csv en rec12.csv
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 6 van 10

Bij een nieuwe zoekopdracht naar een extern commando is PATH gelijk aan /opt/team/bin:/usr/bin:/bin. De eerste twee directory's bevatten allebei een uitvoerbaar bestand met de naam report. Geen alias, functie of ingebouwd commando heeft die naam. Wat wordt uitgevoerd?
  1. Het uitvoerbare bestand /usr/bin/report
  2. Beide uitvoerbare bestanden, in PATH-volgorde
  3. Het uitvoerbare bestand /opt/team/bin/report
  4. Het uitvoerbare bestand ./report
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 7 van 10

Een directory bevat pic1.png en pic2.png. Wat toont echo "pic*.png"?
  1. pic1.png pic2.png
  2. pic*.png
  3. Alleen pic1.png
  4. Een lege regel
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 8 van 10

region is niet ingesteld. Je voert region=west uit en daarna bash -c 'echo $region'. Waarom toont de kindshell een lege regel?
  1. Enkele aanhalingstekens stoppen alle expansie in de kindshell.
  2. Een andere Bash-shell kan namen met kleine letters niet lezen.
  3. De variabele is niet naar de omgeving van het kindproces geëxporteerd.
  4. Een kindshell kan alleen namen lezen die in PATH staan.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 9 van 10

In de standaardinstelling van Bash bevat een directory alleen de gewone bestanden item1.dat, item2.dat, item12.dat, .item3.dat en een lege directory out. Je voert cp item?.dat out/ uit en daarna mv out/item2.dat out/chosen.dat. Welke bestanden staan in out?
  1. item1.dat, item2.dat en chosen.dat
  2. item1.dat, item12.dat en chosen.dat
  3. item1.dat en chosen.dat
  4. item1.dat, .item3.dat en chosen.dat
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 10 van 10

PATH is aanvankelijk gelijk aan /usr/bin:/bin. Er zijn uitvoerbare bestanden /usr/bin/scan en /home/sam/bin/scan en er is geen in de shell gedefinieerde scan. Je voert export PATH="$PATH:$HOME/bin" uit met HOME /home/sam. Wat wordt vanuit /home/sam/bin uitgevoerd voor scan en voor ./scan?
  1. Naam zonder pad: /usr/bin/scan; expliciet pad: /home/sam/bin/scan.
  2. Beide voeren /usr/bin/scan uit.
  3. Naam zonder pad: /home/sam/bin/scan; expliciet pad: /usr/bin/scan.
  4. Beide voeren /home/sam/bin/scan uit.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Set 4: Verbind paden, patronen en commandowerking10 Oefenvragen

Sla deze les op om elk antwoord te zien en elke set te oefenen.

Vraag 1 van 10

ls meldt unrecognized option '--time-sort'. Wat is de meest directe volgende controle voor het geïnstalleerde GNU-programma?
  1. Voer pwd uit om de sorteerregel te wijzigen.
  2. Voer help ls uit voor een ingebouwd Bash-commando.
  3. Hernoem de directory waarvan de inhoud wordt getoond.
  4. Lees ls --help voor de geaccepteerde opties.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 2 van 10

Je hebt een uitgebreide bestandslijst nodig met leesbare grootten, de grootste vermeldingen eerst, inclusief verborgen vermeldingen maar zonder . en ... Welk GNU-commando levert die?
  1. ls -lhS
  2. ls -lhAS
  3. ls -lhAt
  4. ls -lhAr
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 3 van 10

Een gebruiksoverzicht vermeldt -d, --date=STRING. Welke rol heeft 2026-02-18 in touch --date=2026-02-18 checkpoint?
  1. Het geeft de bestemmingsdirectory aan.
  2. Het kiest handleidingsectie 2026.
  3. Het levert een tweede bestandsargument.
  4. Het levert de waarde van de datumoptie.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 4 van 10

De namen zijn clip.jpg, clip.JPG, clip.Jpg en clip.jpeg. Welke namen komen overeen met clip.[jJ][pP][gG]?
  1. clip.jpg en clip.jpeg
  2. clip.JPG en clip.Jpg
  3. Alle vier de bestandsnamen
  4. De drie namen met een jpg-extensie van drie letters
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 5 van 10

Je moet het commando bekijken dat !cp selecteert zonder het uit te voeren. Welke geschiedenisexpressie toont alleen de expansie?
  1. !cp:p
  2. !!cp
  3. !cp$
  4. history -c
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 6 van 10

Vanuit /home/sam/jobs/run bevat ../data het bestand a.txt en bestaat /home/sam/store al. Je voert cp -r ../data ../../store/ uit en daarna mv ../../store/data/a.txt ../../store/data/b.txt. Op welk nieuw pad staat de kopie en waar staat de bron?
  1. Kopie /home/sam/store/b.txt; bron /home/sam/jobs/data/a.txt.
  2. Kopie /home/sam/store/data/b.txt; bron /home/sam/jobs/data/a.txt.
  3. Kopie /home/sam/store/data/b.txt; bron /home/sam/jobs/run/data/a.txt.
  4. Kopie /home/sam/jobs/store/data/b.txt; bron /home/sam/store/data/a.txt.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 7 van 10

area was niet ingesteld. Je voert area=north, export area en bash uit, en daarna binnen het kindproces area=south en exit. Wat toont echo "$area" terug in het ouderproces en waarom?
  1. south, omdat export de waarden van beide shells koppelt.
  2. north, omdat het kindproces een eigen kopie ontving.
  3. Niets, omdat het kindproces de oudervariabele wiste.
  4. north south, omdat export hun waarden combineert.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 8 van 10

In de standaardinstelling van Bash zijn er alleen red1.tmp, red2.tmp, red10.tmp en een lege directory save. Wat toont echo save/*.tmp na cp red[12].tmp save/ en mv save/red1.tmp save/final.txt?
  1. save/red2.tmp
  2. save/red2.tmp save/red10.tmp
  3. save/final.txt save/red2.tmp
  4. save/red1.tmp save/red2.tmp
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 9 van 10

Een uitvoerbaar bestand checkup staat in je huidige directory, die niet in PATH staat. Er is geen ander commando met die naam. Hoe kun je dit bestand uitvoeren?
  1. export checkup
  2. PATH checkup
  3. ./checkup
  4. type checkup
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 10 van 10

Vanuit /home/sam/team/drafts voer je cd ../final uit, daarna cd - en daarna ls ../../photos. Alle directory's bestaan. Waar ben je en welke directory heeft de bestandslijst bekeken?
  1. In /home/sam/team/final; bekeken /home/sam/photos.
  2. In /home/sam/photos; bekeken /home/sam/team/drafts.
  3. In /home/sam/team/drafts; bekeken /home/sam/photos.
  4. In /home/sam/team/drafts; bekeken /home/photos.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Set 5: Neem verschillende beslissingen op de commandoregel10 Oefenvragen

Sla deze les op om elk antwoord te zien en elke set te oefenen.

Vraag 1 van 10

Je weet dat het doel van een commando met directory's te maken heeft, maar bent de naam vergeten. Hoe kun je de geïnstalleerde handleidingbeschrijvingen doorzoeken op het woord “directory”?
  1. whatis directory
  2. apropos directory
  3. help directory
  4. man directory
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 2 van 10

Wat toont echo '$tag' na tag=blue?
  1. $tag
  2. tag=blue
  3. blue
  4. Een lege regel
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 3 van 10

Aanvankelijk bestaat bundle niet. Je voert mkdir -p bundle/raw bundle/log uit, daarna touch bundle/raw/x, mv bundle/raw/x bundle/log/ en vervolgens rmdir -p bundle/raw. Wat blijft er onder bundle over?
  1. Alleen raw, met x; bundle blijft bestaan.
  2. Alleen log, met x; bundle blijft bestaan.
  3. Beide lege onderliggende directory's; x is verwijderd.
  4. Niets; bundle en beide onderliggende directory's zijn verwijderd.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 4 van 10

Bash start met de standaardinstelling in een lege directory. Je voert touch note{2..4}.txt uit, daarna mkdir bin, mv note[24].txt bin/ en vervolgens echo note?.txt. Wat wordt getoond?
  1. note2.txt note3.txt note4.txt
  2. note2.txt note4.txt
  3. note?.txt
  4. note3.txt
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 5 van 10

PATH is /usr/bin:/bin, HOME is /home/sam en uitvoerbare bestanden render bestaan in /usr/bin en /home/sam/bin. Geen alias, functie of ingebouwd commando heet render. Welk extern bestand selecteert render zonder pad na export PATH="$HOME/bin:$PATH" en wat is de volledige resulterende PATH?
  1. /usr/bin/render; /usr/bin:/bin:/home/sam/bin
  2. /home/sam/bin/render; /usr/bin:/bin:/home/sam/bin
  3. /usr/bin/render; /home/sam/bin:/usr/bin:/bin
  4. /home/sam/bin/render; /home/sam/bin:/usr/bin:/bin
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 6 van 10

Een bestand heet -review notes.txt. Welk enkel GNU-commando met ls vraagt de details op en houdt rekening met zowel het streepje aan het begin als de spatie?
  1. ls -l "-review notes.txt"
  2. ls -l -- -review notes.txt
  3. ls -l -- "-review notes.txt"
  4. ls-l ./-review\ notes.txt
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 7 van 10

In de standaardinstelling van Bash bevat een directory alleen unit1.tmp, unit2.tmp, unit10.tmp, .unit3.tmp en final.txt, allemaal gewone bestanden. Na een voorvertoning voer je rm -i unit?.tmp uit zonder alias voor rm en antwoord je bij elke vraag y. Welke gewone bestanden blijven over?
  1. unit10.tmp en final.txt
  2. .unit3.tmp en final.txt
  3. unit1.tmp, unit2.tmp en final.txt
  4. unit10.tmp, .unit3.tmp en final.txt
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 8 van 10

Direct na mkdir -p samples/day7 voer je pwd uit en daarna echo !$. Wat selecteert de geschiedenisverkorting?
  1. De directory samples/day7
  2. Het pad dat pwd toont
  3. Het woord pwd
  4. Het woord mkdir
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 9 van 10

Vanuit /home/sam bevat projects alleen .prefs en een directory src; src bevat main.c. De directory archive bestaat en is leeg. Je voert ls projects uit, daarna cp -r projects/src archive/, mv projects/src archive/live en vervolgens rmdir projects. Wat blijft er over in projects en archive?
  1. Projects bevat .prefs; archive bevat src/main.c en live/main.c.
  2. Projects bevat .prefs en src/main.c; archive bevat live/main.c.
  3. Projects bevat .prefs; archive bevat main.c en live/main.c.
  4. projects is verwijderd; archive bevat src/main.c en live/main.c.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 10 van 10

Met HOME /home/sam stel je dest="$HOME/Field Notes" in en voer je export dest uit. Een kind-Bash voert cd "$dest" uit, verandert daarna dest=elsewhere en sluit af. De directory bestaat. Welk pad ging het kindproces binnen en wat is daarna de dest-waarde van het ouderproces?
  1. Kindproces /home/sam/Field Notes; ouderproces /home/sam/Field Notes.
  2. Kindproces /home/sam/Field; ouderproces elsewhere.
  3. Kindproces letterlijk $HOME/Field Notes; ouderproces elsewhere.
  4. Kindproces /home/sam/Field Notes; ouderproces een lege waarde.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Kom je niet uit je eigen opgave? Huiswerkhulp

Kernbegrippen

79 Kernbegrippen, elk met een definitie

A

Aanroepsyntaxis
De aanroepsyntaxis is het compacte aanroeppatroon van een manpagina, met letterlijke commandotekst, vervangbare waarden, optionele onderdelen en herhaling.
De vorm mkdir [OPTION]... DIRECTORY... staat optionele opties toe, maar vereist ten minste één directorynaam.
Absoluut pad
Een absoluut pad begint met / en beschrijft een locatie vanaf de rootdirectory, zodat de betekenis niet afhangt van je huidige locatie.
/home/sam/photos duidt dezelfde directory aan, of de shell zich nu in /etc of in de homedirectory van sam bevindt.
Accolade-expansie
Accolade-expansie genereert woorden uit vermelde keuzes of een reeks zonder te controleren of bestanden bestaan, zoals in file{1..3}.txt.
mkdir work/{src,docs} ontvangt twee gegenereerde directorynamen, ook als geen van beide onderliggende directory's al bestaat.
Achterwaarts zoeken
Achterwaarts zoeken zoekt terug door de commandogeschiedenis naar tekst; in Bash gebruik je Ctrl+R en druk je opnieuw om oudere overeenkomsten te bereiken.
Als je na Ctrl+R een padfragment typt, kun je een lang commando vinden, ook als je het eerste woord niet meer weet.
Afscherming
Afscherming beschermt tekens tegen bepaalde interpretaties door de shell, zodat spaties of speciale tekens binnen één argument kunnen blijven.
De aanhalingstekens in ls "Work Plan.txt" houden de spatie binnen de bestandsnaam in plaats van die in twee woorden te splitsen.
Alias
Een alias is een in de shell gedefinieerde korte naam die expandeert naar commandotekst en vaak standaardopties toevoegt aan een bestaand commando.
Een distributie kan ls definiëren als ls --color=auto; type ls onthult die extra commandotekst.
apropos
apropos is een zoekcommando voor de handleidingindex dat paginanamen en korte beschrijvingen vindt die overeenkomen met een trefwoord over het doel van een commando.
apropos directory helpt mkdir of rmdir te vinden als je de taak maar niet de commandonaam onthoudt.
Archiefkopie
Een archiefkopie is een recursieve kopie die met cp -a wordt opgevraagd en bestandsattributen behoudt, wat handig is om een directoryboom te kopiëren.
cp -a site site-backup behoudt de attributen van de boom in plaats van die als een gewone nieuwe bestandskopie te behandelen.
Argument
Een argument is een waarde die aan een commando wordt doorgegeven, zoals een pad om op te werken, tekst om te tonen of een waarde die een optie nodig heeft.
In cp report.txt saved/ geven de twee padargumenten het bronbestand en de bestemmingsdirectory aan.

B

Bash
Bash is de Bourne Again Shell, een veelgebruikte Linux-commando-interpreter met ingebouwde commando's, aanvulling, variabelen en commandogeschiedenis.
Bash biedt help cd direct aan omdat cd een ingebouwd commando is en geen afzonderlijk programmabestand.
Bash-hulp
Bash-hulp is de ingebouwde documentatie-interface voor Bash-commando's, bereikbaar met help gevolgd door de naam van een ingebouwd commando.
help export legt het exporteren van variabelen uit, terwijl help zonder argumenten de beschikbare ingebouwde commando's toont.
Beknopte hulp
Beknopte hulp is een kort gebruiks- en optieoverzicht dat een programma biedt, vaak via de lange GNU-optie --help.
Gebruik mkdir --help om de optie voor het maken van bovenliggende directory's te vinden zonder door de volledige manpagina te navigeren.
Bestand
Een bestand is een benoemd object in de Linux-directoryboom dat gegevens bevat, zoals tekst, een afbeelding of programma-instructies.
Een programma kan een pdf aan de inhoud herkennen, ook als de bestandsnaam niet op .pdf eindigt.
Bestandsnaamexpansie
Bestandsnaamexpansie is een functie van de shell die een niet-afgeschermd patroon vóór uitvoering van het commando vervangt door bestaande overeenkomende namen.
Bij twee overeenkomende logbestanden ontvangt ls *.log twee bestandsnamen in plaats van het letterlijke patroon met de ster.
Bestandsnaampatroon zonder overeenkomsten
Een bestandsnaampatroon zonder overeenkomsten is een patroon waarvoor geen vermeldingen overeenkomen en dat Bash standaard ongewijzigd als argument voor het commando laat staan.
Zonder aanwezige pdf-bestanden toont echo *.pdf het patroon, terwijl ls *.pdf meldt dat dat letterlijke pad ontbreekt.
Bestemming
Een bestemming is de doellocatie of nieuwe naam voor een bewerking; het bestaande type helpt het resultaat van kopiëren of verplaatsen te bepalen.
Als archive ontbreekt, gebruikt mv notes.txt archive archive als nieuwe bestandsnaam in plaats van een directory te maken.
Bovenliggende directory
Een bovenliggende directory is de directory die in een pad één niveau boven een andere staat; de speciale naam .. verwijst naar die bovenliggende directory.
Vanuit /home/sam/projects/website bereikt één .. de directory projects, terwijl twee de homedirectory van sam bereiken.
Bron
Een bron is het bestand of de directory waaruit een bewerking gegevens of een object haalt; in de basisvormen van cp en mv staat de bron vóór de bestemming.
In cp notes.txt archive/ levert notes.txt de gegevens en geeft archive/ aan waar de kopie naartoe moet.

C

Commando
Een commando is een instructie waarvan het eerste woord een shellfunctie of programma aanduidt, gevolgd door eventuele opties en argumenten.
In ls -l /var is de commandonaam ls; de overige woorden bepalen de werking en het doel van de bestandslijst.
Commando opzoeken
Commando opzoeken is het proces waarmee de shell een naam koppelt aan een shellfunctie of een extern uitvoerbaar bestand in het zoekpad.
type echo kan het ingebouwde Bash-commando melden vóór een extern echo-bestand dat ook in een PATH-directory bestaat.
Commandogeschiedenis
De commandogeschiedenis is het overzicht van eerdere invoerregels van de shell, die je kunt tonen, doorzoeken, ophalen, bewerken en opnieuw uitvoeren.
Druk op omhoog om een vorig kopieercommando op te halen, verander de bestemming en bekijk de bewerkte regel voordat je op Enter drukt.

D

Directory
Een directory is een object dat benoemde vermeldingen voor bestanden en andere directory's bevat; een grafische bestandsbeheerder noemt die meestal een map.
De directory /home/sam/projects kan zowel notes.txt als een onderliggende directory met de naam website bevatten.

E

Expliciet commandopad
Een expliciet commandopad bevat een schuine streep en duidt de locatie van een programma rechtstreeks aan, waardoor de directoryzoekopdracht via PATH wordt omzeild.
Vanuit /home/sam/bin duiden ./backup en /home/sam/bin/backup allebei hetzelfde lokale uitvoerbare bestand aan.
export
export is het ingebouwde Bash-commando dat een variabele markeert voor opname in de omgeving van kindprogramma's die daarna worden gestart.
Als een kindproces een geëxporteerde variabele verandert, verandert de kopie van het ouderproces niet; elk proces bewaart een eigen waarde.
Expressie tussen vierkante haken
Een expressie tussen vierkante haken komt overeen met één teken uit een vermelde verzameling of een bereik; een ! of ^ aan het begin keert die verzameling om.
part[13].txt komt op die positie overeen met namen die eindigen op 1 of 3, maar niet met de uitgang 13 van twee cijfers.

F

Forceeroptie
De forceeroptie, -f in GNU rm, onderdrukt bevestigingsvragen en negeert ontbrekende namen, waardoor het nog belangrijker is de doelexpressie te controleren.
Door -f toe te voegen krijg je geen herstelmogelijkheid; het verandert alleen hoe verwijderen omgaat met vragen en ontbrekende namen.
Foutmelding
Een foutmelding is een melding van een mislukte bewerking die meestal het commando, het betrokken object en de reden noemt waarom de bewerking niet kon doorgaan.
Een melding No such file or directory van ls wijst erop dat je het pad, de hoofdletters en de werkdirectory moet controleren.

G

Geschiedenisbestand
Een geschiedenisbestand bewaart de commandogeschiedenis tussen sessies, normaal op ~/.bash_history, met het pad in HISTFILE.
Twee open terminals kunnen verschillende actieve lijsten tonen, ook al slaan ze normaal op in hetzelfde geschiedenisbestand.
Geschiedenisexpansie
Geschiedenisexpansie herschrijft expressies met een uitroepteken vóór uitvoering naar eerdere commandotekst, zoals !! voor het vorige commando.
Direct na mkdir drafts hergebruikt cd !$ het laatste argument, maar een ander commando ertussen verandert dat argument.
Grootte in leesbare eenheden
Een grootte in leesbare eenheden gebruikt compacte eenheden zoals K, M en G in plaats van een lang aantal bytes, zoals opgevraagd met GNU ls -h.
Combineer -h met -l: de eerste optie maakt grootten leesbaar, terwijl de tweede de kolom levert waarin ze worden getoond.

H

Handleidingsectie
Een handleidingsectie is een genummerde groep pagina's die onderwerpen zoals gebruikerscommando's, bestandsformaten en beheercommando's van elkaar scheidt.
Dezelfde naam kan meerdere pagina's hebben; man 5 passwd kiest de pagina over het bestandsformaat in plaats van het commando.
HISTCONTROL
HISTCONTROL is een Bash-instelling die bepaalt welke invoerregels uit de geschiedenis worden weggelaten, zoals herhaalde commando's of commando's die met een spatie beginnen.
De waarde ignoreboth combineert ignorespace en ignoredups; een willekeurige shell kan een andere instelling gebruiken.
Homedirectory
Een homedirectory is de persoonlijke locatie van een account voor bestanden en instellingen, voor een gewone Linux-gebruiker meestal /home/username.
Voor sam expandeert ~ naar /home/sam; /home alleen is de directory die de homedirectory's van gebruikers bevat.
Hoofdlettergevoeligheid
Hoofdlettergevoeligheid betekent dat hoofdletters en kleine letters bij het vergelijken van namen verschillend zijn, zodat hoofdlettergebruik het geselecteerde object kan veranderen.
De namen Plans en plans kunnen verschillende directory's aanduiden; aanvullen helpt de juiste hoofdletters te behouden.

I

Info-handleiding
Een Info-handleiding is een naslagdocument met onderlinge koppelingen dat GNU-projecten gebruiken en dat is ingedeeld in knooppunten waartussen lezers vanuit een terminal kunnen navigeren.
info coreutils opent een uitgebreidere handleiding; met n, p en u beweeg je tussen de gekoppelde knooppunten.
Ingebouwd commando
Een ingebouwd commando is een commando dat in de shell zelf is geïmplementeerd, zodat voor de uitvoering geen afzonderlijk programmabestand hoeft te worden gevonden.
type cd meldt een ingebouwd commando en help cd geeft de documentatie voor het Bash-commando om van directory te veranderen.
Interactief verwijderen
Interactief verwijderen vraagt om bevestiging voordat de verwijdering doorgaat; GNU rm -i vraagt voor elk doel afzonderlijk.
Bij een gecontroleerde selectie van tijdelijke bestanden vraagt rm -i *.tmp naar de overeenkomende namen voordat die worden verwijderd.

J

Jokerteken
Een jokerteken is een patroonteken dat overeenkomt met een klasse of reeks tekens, zoals * voor een reeks of ? voor één teken.
Het patroon part?.txt accepteert part4.txt, maar sluit een naam uit met twee cijfers op de positie van het vraagteken.

K

Kopiëren
Kopiëren maakt een andere instantie van bestandsgegevens op een bestemming en laat de bron staan, zoals met cp wordt gevraagd.
cp memo.txt stored/ maakt stored/memo.txt als stored bestaat en laat het oorspronkelijke bestand staan waar het was.

L

Letterlijk patroon
Een letterlijk patroon is patroontekst die ongewijzigd aan een commando wordt doorgegeven, bijvoorbeeld omdat aanhalingstekens de jokertekens hebben afgeschermd.
echo "*.txt" toont de ster en de extensie ook als de directory bestanden bevat die ermee zouden overeenkomen.

M

Manpagina
Een manpagina is een naslagdocument voor een commando of systeemfunctie, meestal ingedeeld in benoemde onderdelen zoals SYNOPSIS en DESCRIPTION.
man ls opent het naslagwerk voor het lijstcommando, waarin je naar een benodigde optie kunt zoeken.
Metadata
Metadata zijn gegevens over een bestand of directory, zoals type, eigenaarschap, toegangsrechten, grootte en tijdstempels, en niet de inhoud zelf.
Een uitgebreide bestandslijst kan tonen wanneer een rapport is gewijzigd zonder de werkelijke tekst van het rapport te tonen.
mkdir
mkdir is het commando om directory's te maken; de optie -p maakt ontbrekende bovenliggende directory's en accepteert padcomponenten die al als directory bestaan.
mkdir -p app/css maakt beide directory's als app ontbreekt, zodat later een bestand in css kan worden gemaakt.

O

Omgeving
De omgeving is de verzameling benoemde waarden die een proces doorgeeft aan programma's die het start, zodat die programma's bij het starten instellingen ontvangen.
Een pas gestart programma kan HOME uit zijn omgeving lezen om de homedirectory van het account te vinden.
Omgevingsvariabele
Een omgevingsvariabele is een benoemde waarde die beschikbaar wordt gemaakt voor pas gestarte kindprogramma's, vaak door een shellvariabele met export te markeren.
export city laat een latere kind-Bash de waarde van city lezen die eerder alleen in het ouderproces werd bewaard.
Opstartbestand
Een opstartbestand bevat shellinstellingen die worden gelezen wanneer een shell start; Bash gebruikt verschillende bestanden voor loginshells en interactieve shells die geen loginshell zijn.
Een export in ~/.bashrc wordt gelezen door een nieuwe interactieve Bash die geen loginshell is; een loginprofiel kan dat bestand ook laden.
Optie
Een optie is een argument dat de werking van een commando verandert, meestal geschreven als een streepje en een letter of als een naam met twee streepjes.
De optie -l geeft ls opdracht een uitgebreide bestandslijst met details te tonen in plaats van alleen namen.
Overschrijven
Overschrijven vervangt tijdens een bewerking de bestaande inhoud van een bestemmingsbestand; gewone cp of mv kan dit zonder te vragen doen.
Gebruik cp -i notes.txt saved.txt om vóór het vervangen van saved.txt om bevestiging te vragen als een bestand met die naam al bestaat.

P

Padcomponent
Een padcomponent is één naam tussen schuine strepen in een pad; gewone bestandsnaamjokertekens komen binnen een component overeen zonder over / heen te gaan.
data/*.csv selecteert direct binnen data; het selecteert niet ook overeenkomende namen onder data/old.
Paginagewijze tekstviewer
Een paginagewijze tekstviewer toont tekst per scherm en biedt navigatie- en zoektoetsen om documenten te lezen die langer zijn dan het terminalvenster.
In de gebruikelijke tekstviewer van man kun je zoeken met /size, tussen overeenkomsten bewegen met n en afsluiten met q.
Pakketdocumentatie
Pakketdocumentatie is extra informatie die met software wordt geïnstalleerd, vaak opgeslagen onder /usr/share/doc/ in een directory voor dat pakket.
Als je de inhoud van /usr/share/doc/bash toont, kun je README-bestanden, wijzigingslogboeken, licentietekst en voorbeelden vinden.
PATH
PATH is een omgevingsvariabele met door dubbele punten gescheiden directory's die van links naar rechts worden doorzocht voor een extern commando dat zonder / wordt genoemd.
Door :$HOME/bin achteraan toe te voegen behoud je eerdere directory's en hun voorrang wanneer een programmanaam tweemaal voorkomt.
Prompt
Een prompt is tekst die aangeeft dat een shell klaar is voor invoer; de indeling kan het account, de hostcomputer en de huidige directory aangeven.
In sam@laptop:~$ geeft de tilde de homedirectory aan en het afsluitende dollarteken meestal een gewone gebruiker.

R

Recursief verwijderen
Recursief verwijderen verwijdert een directory en de inhoud ervan, inclusief geneste directory's, zoals opgevraagd met GNU rm -r.
Gebruik rmdir old-cache als een onverwachte onderliggende vermelding het opruimen moet stoppen in plaats van samen met de bovenliggende directory te worden verwijderd.
Recursieve bestandslijst
Een recursieve bestandslijst doorloopt een directory en de subdirectory's en toont de vermeldingen van elke locatie onder een afzonderlijke padkop.
ls -R projects toont projects: en daarna koppen voor onderliggende directory's zoals projects/website:.
Relatief pad
Een relatief pad beschrijft een locatie vanaf de werkdirectory en begint niet met de schuine streep die een absoluut pad verankert.
Vanuit /home/sam/projects bereikt ../photos de fotodirectory van sam door omhoog en daarna omlaag te gaan.
rm
rm is het verwijdercommando voor bestanden, met een recursieve optie voor directorybomen; het verplaatst doelen niet naar een prullenbak.
rm -i old.txt vraagt om bevestiging voordat het dat bestand verwijdert, zodat je de handeling kunt weigeren.
rmdir
rmdir is een commando om lege directory's te verwijderen dat een doel weigert als het gewone of verborgen bestandsvermeldingen bevat.
Als rmdir cache meldt dat de inhoud niet leeg is maar gewone ls leeg lijkt, gebruik dan ls -A cache om verborgen vermeldingen te controleren.
Rootaccount
Het rootaccount is het systeembeheerdersaccount, met ruime bevoegdheid om systeembestanden en instellingen te wijzigen.
Een prompt die eindigt op # geeft volgens afspraak root aan; gebruik voor gewoon werk een gewoon account.
Rootdirectory
De rootdirectory, geschreven als /, is het startpunt van de ene bestandssysteemboom van Linux en staat boven elk ander absoluut pad.
Het pad /etc begint bij de rootdirectory; het duidt geen onderliggende directory van je huidige werkdirectory aan.

S

Shell
Een shell is een programma dat getypte commando's interpreteert en de gevraagde taak start, met eigen functies of met andere programma's.
Bash interpreteert pwd in een terminalsessie en toont de directory waarin de shell werkt.
Shellvariabele
Een shellvariabele is een benoemde waarde die een shell bewaart; een gewone niet-geëxporteerde toekenning geeft die waarde niet door aan pas gestarte programma's.
Alleen city=Lisbon instellen geeft die waarde niet aan een nieuwe kind-Bash, tenzij city al is geëxporteerd.

T

Taal- en regio-instellingen
Taal- en regio-instellingen zijn instellingen die programmameldingen, datumopmaak, sorteervolgorde en tekenklassen kunnen beïnvloeden.
Twee systemen kunnen bestandsnamen met hoofdletters en kleine letters anders ordenen omdat hun taal- en regio-instellingen verschillen.
Tekenklasse
Een tekenklasse benoemt een groep tekens volgens de taal- en regio-instellingen, zoals [[:digit:]] voor cijfers of [[:lower:]] voor kleine letters.
Een klasse voor kleine letters kan, afhankelijk van de huidige taal- en regio-instellingen, ook andere letters dan ASCII a tot en met z bevatten.
Terminal
Een terminal is de interface die een tekstsessie toont en toetsenbordinvoer accepteert, vaak als een venster waarin een shell draait.
Als je een tweede terminal opent, kan die een afzonderlijke shell starten met een eigen werkdirectory en geschiedenis.
Tijdstempel
Een tijdstempel legt een tijd vast die bij een bestandsgebeurtenis hoort, zoals een wijziging van de inhoud of toegang; commando's kunnen deze waarden bekijken of bijwerken.
touch -d 2025-01-31 old.txt vraagt om een gekozen datum in plaats van de huidige tijd voor de bijwerking.
Tilde-expansie
Tilde-expansie vervangt een niet-afgeschermde ~ aan het begin van een shellwoord door een pad naar een homedirectory, waardoor paden vanaf de homedirectory gemakkelijk te typen zijn.
cd ~/Documents bereikt je documenten vanaf elke plek, maar aanhalingstekens rond de tilde voorkomen die vervanging.
touch
touch is een commando dat tijdstempels van bestaande bestanden bijwerkt of lege bestanden maakt als de gevraagde namen niet bestaan.
touch checklist.txt behoudt de tekst van een bestaande checklist; het maakt het bestand niet leeg voordat de tijdstempels worden bijgewerkt.

U

Uitgebreide bestandslijst
Een uitgebreide bestandslijst is de gedetailleerde uitvoer die je met ls -l opvraagt en die metadata zoals type, eigenaarschap, grootte en wijzigingstijd toont.
ls -l notes.txt toont de details van één bestand; als je -h toevoegt, verandert een grootte in bytes zoals 2048 in 2.0K.
Uitvoerbaar bestand
Een uitvoerbaar bestand is een bestand dat als programma kan worden uitgevoerd en daarvoor naast een geschikte bestandslocatie ook uitvoerrecht nodig heeft.
Een uitvoerbaar bestand met de naam backup in de huidige directory kan met ./backup worden uitgevoerd als de directory niet in PATH staat.

V

Variabele
Een variabele is een benoemde waarde die de shell gebruikt, toegekend met name=value en gelezen via expansie zoals $name.
Na topic=linux toont echo "$topic" de opgeslagen waarde, terwijl unset topic de variabele verwijdert.
Variabele-expansie
Variabele-expansie vervangt een naam met een dollarteken ervoor door de waarde; accolades kunnen de naam afbakenen en dubbele aanhalingstekens kunnen ingesloten spaties behouden.
echo "${city}_trip" voegt tekst toe aan de waarde van city, terwijl $city_trip een andere variabelenaam zou lezen.
Verborgen vermelding
Een verborgen vermelding is een bestand of directory waarvan de naam met een punt begint, waardoor gewone uitvoer van ls die standaard weglaat.
Het configuratiebestand .bashrc verschijnt met ls -a, ook al slaat een gewone bestandslijst van de homedirectory het over.
Verplaatsen
Verplaatsen verandert de naam of locatie van een bestand of directory met mv, zonder de recursieve optie die nodig is om een boom te kopiëren.
mv memo.txt stored/ zet het bestaande bestand in stored, zodat het oude pad dat verplaatste bestand niet meer aanduidt.
Voorvertoning van de expansie
Een voorvertoning van de expansie toont de namen die een patroon selecteert voordat een bewerking die verandert, zodat onverwacht ruime doelen zichtbaar worden.
ls -d -- draft* toont de overeenkomende vermeldingen zelf, zodat overeenkomende directory's als doelen zichtbaar zijn.

W

Werkdirectory
De werkdirectory is de huidige locatie van de shell in de boom en het startpunt voor de interpretatie van relatieve paden.
Na cd projects verwijst de relatieve naam notes.txt naar een bestand in die nieuw gekozen directory.
whatis
whatis is een opzoekcommando dat de geïndexeerde beschrijving van één regel voor een bekende manpaginanaam toont in plaats van de volledige tekst te openen.
whatis ls geeft een korte doelbeschrijving; man ls biedt het uitgebreidere naslagwerk als meer detail nodig is.
Wijzigingstijd
Een wijzigingstijd legt vast wanneer de inhoud van een bestand voor het laatst is gewijzigd; ls -t gebruikt die tijd om vermeldingen met de nieuwste eerst te sorteren.
Als je touch uitvoert, wordt dit tijdstempel bijgewerkt zonder de bestandsgegevens te wijzigen, waardoor de volgorde op tijd kan veranderen.

Z

Zoekvolgorde
De zoekvolgorde bepaalt welk overeenkomend programmabestand wordt geselecteerd, waarbij eerdere PATH-directory's bij een nieuwe zoekopdracht voorrang krijgen.
Als je je persoonlijke bin-directory vooraan zet, kan jouw programma worden gekozen vóór een bestand met dezelfde naam in /usr/bin.

Over deze les

Door StudeliFout melden

Maak je eigen Studiemateriaal

Maak van je aantekeningen, slides en documenten Leermodules, Oefenvragen, Flashcards en 6 andere tools.

Aan de slag