De Linux-opdrachtregel en Bash-scripting beheersen · Les

Shell-expansie en globbing

Begrijp hoe de shell opdrachten uitbreidt, waaronder accolade-expansie, tilde-expansie en patronen voor bestandsnaam-globbing.

Les 2 van 412 stappen

Shell-expansie en globbing is een gratis De Linux-opdrachtregel en Bash-scripting beheersen-les op CoddyKit. Dit is les 2 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject De Linux-opdrachtregel en Bash-scripting beheersen. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus De Linux-opdrachtregel en Bash-scripting beheersen bevat in totaal 4 lessen.

Wat is shell-expansie?

In Linux is de shell een soort vertaler tussen jou en het besturingssysteem. Voordat de shell je opdracht uitvoert, doet die vaak iets bijzonders dat expansie wordt genoemd.

Bij shell-expansie zoekt de shell naar speciale tekens of patronen in je opdracht en vervangt die door iets anders. Dit gebeurt voordat de opdracht daadwerkelijk wordt uitgevoerd. Zo hoef je minder te typen en worden opdrachten krachtiger!

Je persoonlijke map met tilde `~`

De tilde-expansie (~) is een bijzonder handige snelkoppeling. Die wordt automatisch uitgebreid naar de persoonlijke map van je huidige gebruiker.

In plaats van /home/yourusername te typen, kun je gewoon ~ gebruiken. Dit is vooral handig om naar bestanden in je persoonlijke map te navigeren of ernaar te verwijzen.

echo ~
echo ~/Documents

Tilde voor andere gebruikers

De tilde is niet alleen bedoeld voor je eigen persoonlijke map! Je kunt die ook gebruiken om naar de persoonlijke map van een andere gebruiker te verwijzen.

Als je ~username typt, breidt de shell dit uit naar de persoonlijke map van de opgegeven gebruikersnaam. Dit is handig voor toegang tot gedeelde bestanden of configuraties.

  • ~root wordt uitgebreid naar /root
  • ~guest wordt uitgebreid naar /home/guest

Accolade-expansie `{}`

Met accolade-expansie kun je willekeurige tekenreeksen genereren. Het is een snelle manier om meerdere items te maken op basis van één patroon, zonder ze allemaal afzonderlijk te typen.

De shell breidt de inhoud tussen de accolades {} uit tot een lijst met afzonderlijke woorden. Dit is erg handig om bestanden of mappen met vergelijkbare namen te maken of opdrachten op meerdere items uit te voeren.

echo {apple,banana,cherry}

Bereiken met accolades

Je kunt accolade-expansie ook gebruiken om reeksen cijfers of letters te genereren. Dit doe je met twee items die binnen de accolades door .. van elkaar worden gescheiden.

De shell genereert alle items in de reeks. Zo kun je eenvoudig genummerde bestanden of mappen maken of door een reeks waarden itereren.

echo file_{1..3}.txt
echo {a..c}_report.log

Inleiding tot globbing

Globbing is de manier waarop de shell bestandsnamen en padnamen vergelijkt met behulp van speciale jokertekens. Het lijkt op het gebruiken van een zoekpatroon om bestanden te vinden.

Wanneer je een opdracht zoals ls *.txt typt, stuurt de shell *.txt niet door naar ls. In plaats daarvan breidt de shell *.txt uit tot een lijst van alle overeenkomende bestanden in de huidige map en geeft die lijst vervolgens door aan ls.

Alles vergelijken met `*`

Het sterretje (*) is het meest gebruikte jokerteken. Het komt overeen met nul of meer tekens in een bestandsnaam.

Je kunt het gebruiken om elke reeks tekens te vergelijken. Daardoor is het bijzonder veelzijdig om bestanden te selecteren op basis van delen van hun naam.

mkdir -p glob_test
touch glob_test/report.txt glob_test/image.jpg glob_test/document.pdf
echo "Files ending in .txt:"
ls glob_test/*.txt
rm -rf glob_test

Eén teken vergelijken met `?`

Het jokerteken vraagteken (?) komt overeen met precies één teken.

Dit is handig wanneer je de exacte lengte kent van het deel van de bestandsnaam dat je wilt vergelijken, maar niet welk teken er precies staat.

mkdir -p glob_test
touch glob_test/file1.log glob_test/file2.log glob_test/fileA.log
echo "Files matching file?.log:"
ls glob_test/file?.log
rm -rf glob_test

Specifieke tekens `[]`

Je kunt vierkante haakjes ([]) gebruiken om elk afzonderlijk teken binnen een opgegeven verzameling tekens te vergelijken.

Hiermee kun je nauwkeuriger vergelijken dan met ?. Je kunt afzonderlijke tekens opgeven of een bereik instellen, bijvoorbeeld [a-z] voor elke kleine letter of [0-9] voor elk cijfer.

mkdir -p glob_test
touch glob_test/photoA.png glob_test/photoB.png glob_test/photoC.png glob_test/photoD.png
echo "Files matching photo[A-C].png:"
ls glob_test/photo[A-C].png
rm -rf glob_test

Combinaties van globbing

Je kunt verschillende globbingpatronen en zelfs accolade-expansie combineren voor krachtige bestandsselectie.

De shell verwerkt deze expansies van links naar rechts en maakt zo complexe patronen die precies overeenkomen met wat je nodig hebt.

mkdir -p glob_test
touch glob_test/data_01.csv glob_test/data_02.txt glob_test/data_a.log glob_test/info_01.txt
echo "Files matching data_[0-9]*.{txt,csv}:"
ls glob_test/data_[0-9]*.{txt,csv}
rm -rf glob_test

Snelle controle

Welke van de volgende opdrachten geeft een lijst van de bestanden report1.doc, report2.doc en report3.doc, maar NIET van reportA.doc?

Samenvatting en volgende stappen

Goed gedaan! Je hebt geleerd hoe de shell opdrachten uitbreidt voordat ze worden uitgevoerd. Deze 'magie' maakt je werk op de opdrachtregel veel efficiënter.

  • Tilde-expansie (~): een snelkoppeling voor persoonlijke mappen.
  • Accolade-expansie ({}): genereert aangepaste tekenreeksen of reeksen.
  • Globbing (*, ?, []): vergelijkt bestandsnamen met jokertekens voor krachtige selectie op basis van patronen.

Inzicht in deze expansies is belangrijk om doeltreffende en beknopte opdrachten te schrijven. Blijf ermee oefenen!

Gratis beginnen

Leer Bash met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
22
Lessen
88

Veelgestelde vragen

Is de les “Shell-expansie en globbing” gratis?

Ja — de volledige tekst van “Shell-expansie en globbing” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus De Linux-opdrachtregel en Bash-scripting beheersen wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus De Linux-opdrachtregel en Bash-scripting beheersen bevat in totaal 4 lessen.

Wat leer ik in “Shell-expansie en globbing”?

Begrijp hoe de shell opdrachten uitbreidt, waaronder accolade-expansie, tilde-expansie en patronen voor bestandsnaam-globbing. Je oefent met De Linux-opdrachtregel en Bash-scripting beheersen door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met De Linux-opdrachtregel en Bash-scripting beheersen te beginnen?

Ervaring vooraf is niet nodig. De Linux-opdrachtregel en Bash-scripting beheersen op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.

Hoe lang duurt de les “Shell-expansie en globbing”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over De Linux-opdrachtregel en Bash-scripting beheersen?

Ja. Elke les over De Linux-opdrachtregel en Bash-scripting beheersen bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Jobbeheer (bg, fg, jobs)
  2. Shell-expansie en globbing
  3. Aliassen en aangepaste prompts
  4. Shellfuncties en herbruikbare snippets
← Terug naar De Linux-opdrachtregel en Bash-scripting beheersen