De Linux-commandoregel
BeginnerLes 2 van 7 in Cursus Linux: commandoregel, shellscripts, gebruikers en services
Wat je leert
- 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 promptMaak 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 argumentenBouw 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.
- Herken de shell, de terminal en de prompt
- 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'sOpen 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 documentatieVraag 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.
- Lees en doorzoek de manpagina's
- 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 directoryboomBeschrijf 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 padenWeet 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'sToon 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.
- Begrijp de directoryboom
- 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'sMaak nieuwe directory's, ook geneste, maak lege bestanden of werk hun tijdstempels bij met touch en verwijder lege directory's.
- Kopieer, verplaats en hernoemKopieer 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 veiligVerwijder 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.
- Maak bestanden en directory's
- 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'sVoorspel wat de shell na expansie aan een commando doorgeeft, bekijk patronen vooraf, voorkom expansie met aanhalingstekens en gebruik accolades om namen te maken.
- Selecteer overeenkomende bestandsnamen met *, ? en [ ]
- 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 zeBlader 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 zeMaak 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 vindtLeg 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.
- Haal commando's uit de geschiedenis op en hergebruik ze
Linux-commandoregel: uitleg
1Werk 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
| Toets | Actie |
|---|---|
| Tab | Vul een commando of bestandsnaam aan; druk tweemaal om bij meerdere mogelijkheden de keuzes te zien |
| Omhoog / omlaag | Blader door eerder getypte commando's |
| Ctrl+C | Annuleer de huidige invoerregel of onderbreek een actief programma op de voorgrond |
| Ctrl+L | Maak het scherm leeg; clear doet dit ook |
| Ctrl+D op een lege regel | Beë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;
qsluit 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. typemaakt onderscheid tussen een ingebouwd commando, alias en programmabestand.
2Zoek 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
| Sectie | Onderwerp |
|---|---|
| 1 | Gebruikerscommando's |
| 2 | Systeemaanroepen |
| 3 | Bibliotheekfuncties |
| 4 | Speciale apparaatbestanden |
| 5 | Bestandsformaten |
| 6 | Spellen |
| 7 | Overzichten en conventies |
| 8 | Systeembeheercommando'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 commandvoor een naslagpagina en/wordom 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.
aproposzoekt op doel;whatiszoekt een bekende naam op.- Gebruik
helpvoor ingebouwde Bash-commando's zoalscd.
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:
apropos directorywijst opmkdirom directory's te maken.mkdir --helptoont-p, --parentsen legt uit dat ontbrekende bovenliggende directory's worden gemaakt.mkdir -p reports/2026/q1maakt 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 --helpvoor programmaopties enhelp namevoor ingebouwde Bash-commando's. infoen/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.
3Navigeer 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:
| Locatie | Hoofddoel |
|---|---|
/home | Homedirectory's van gewone gebruikers |
/root | De homedirectory van de rootgebruiker |
/etc | Systeemconfiguratie |
/bin, /usr/bin | Alledaagse programmabestanden |
/sbin, /usr/sbin | Systeembeheerprogramma's |
/tmp | Tijdelijke gegevens die automatisch kunnen worden gewist |
/var | Veranderlijke gegevens, waaronder logboeken onder /var/log |
/dev | Apparaatbestanden |
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,/homeen/rootzijn 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:
- De eerste
..bereikt/home/sam/projects. - De tweede
..bereikt/home/sam. photosgaat 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
pwdom 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 -encd ..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:
-geeft een gewoon bestand aan;dzou een directory aangeven enleen symbolische koppeling.- De volgende negen tekens beschrijven toegangsrechten voor de eigenaar, de groep en anderen.
1is het aantal harde koppelingen.- De twee
sam-velden geven de eigenaar en de groep aan. 2048is de bestandsgrootte in bytes.- De datum en tijd geven de laatste wijziging van de inhoud aan.
notes.txtis 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
| Opties | Wat eerst komt |
|---|---|
| Geen sorteeroptie | Namen in de sorteervolgorde van de taal- en regio-instellingen |
-t | Meest recent gewijzigde vermeldingen |
-S | Grootste vermeldingen |
-r met een andere volgorde | Het 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
-lvoegt details toe en-hmaakt getoonde grootten gemakkelijker leesbaar.-aneemt verborgen vermeldingen op;-Alaat alleen.en..weg.-dtoont een directory zelf;-Rtoont de subdirectory's.-t,-Sen-rbepalen de volgorde.- Een directorygrootte en de regel
totalzijn 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.
4Maak, 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
mkdirmaakt directory's;-pmaakt ook ontbrekende bovenliggende directory's.touchmaakt een ontbrekend leeg bestand of werkt een bestaand bestand bij zonder het leeg te maken.- Maak bovenliggende directory's voordat je daarin bestanden maakt.
rmdirverwijdert 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ëren | Locatie van de gekopieerde boom |
|---|---|
website-old bestaat niet | website-old/index.html, enzovoort |
website-old bestaat als directory | website-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
cplaat de bron staan;mvverandert 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 -rkopieert een boom;mvheeft geen recursieve optie nodig.-ivraagt vóór overschrijven en-nslaat een bestaande bestemming over.cp -pbehoudt tijdstempels en toegangsrechten;cp -abehoudt 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
| Optie | Effect |
|---|---|
-i | Vraag vóór elke verwijdering |
-I | Vraag eenmaal vóór het verwijderen van meer dan drie bestanden of vóór recursief verwijderen |
-f | Vraag niet; negeer ontbrekende namen |
-v | Toon 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:
- Voer
pwduit om je locatie te controleren. - Toon de exacte namen of het patroon dat je wilt verwijderen.
- Bekijk de lijst, ook of er directory's zijn geselecteerd.
- Gebruik dezelfde doeluitdrukking met
rmen voeg-itoe 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
rmverwijdert direct; het stuurt bestanden niet naar een prullenbak.- Gebruik
rmdirvoor een lege directory enrm -rvoor een boom. - Controleer de werkdirectory en de exacte doelen voordat je verwijdert.
-ivraagt per doel om bevestiging;-fonderdrukt vragen en negeert ontbrekende namen.- Spaties, aanhalingstekens en streepjes aan het begin veranderen hoe verwijderargumenten worden gelezen.
5Selecteer 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
| Patroononderdeel | Waarmee 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.
6Hergebruik 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:
| Expressie | Hergebruikte tekst |
|---|---|
!! | Het vorige commando |
!42 | Gebeurtenis 42 uit de geschiedenis |
!ls | Het 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;
:ptoont 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
| Invoer | Wat Bash doet |
|---|---|
echo "$HOME" | Expandeert HOME en houdt het resultaat bij elkaar |
echo '$HOME' | Geeft de letterlijke tekst $HOME door |
echo \$HOME | Schermt 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
=;$nameleest de waarde. - Dubbele aanhalingstekens staan expansie toe en behouden spaties; enkele aanhalingstekens houden tekst letterlijk.
exportgeeft een variabele door aan kindprogramma's die daarna worden gestart.envtoont de omgeving;settoont 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.
typemeldt ook aliassen, functies en ingebouwde commando's.- Een commando met
/duidt rechtstreeks een pad aan en omzeilt PATH. - Behoud
$PATHals je de lijst uitbreidt. - De zoekvolgorde bepaalt welk extern programma voorrang krijgt als namen dubbel voorkomen.
Linux-commandoregel: voorbeelden
1Bouw en lees een commando
11 stappen
- 1IntroductieLees 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.
- 2UitlegHerken 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. - 3VoorbeeldVraag wie en waar
Voer
whoamiin en lees het resultaat: voor ons voorbeeldaccount is datsam. Voer daarnapwdin; 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.
- 4TipVul 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
qde pagina af; dezelfde toetsaanslag heeft een andere betekenis dan een commando dat je bij de shellprompt typt. - 5UitdagingKies de toets om te herstellen
Je hebt
ls-lgetypt, 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. - 6UitlegGeef elk woord een taak
Lees
ls -l /etcals drie woorden met drie taken.lsgeeft het commando aan,-lverandert de werking en/etcgeeft 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 -lacombineert-len-a, terwijlls --alléén lange optie is. Sommige opties hebben ook waarden nodig; de hulptekst vermeldt welke. - 7VoorbeeldHoud een naam met spaties bij elkaar
Stel dat een bestand “Annual Report.pdf” heet. Als je
ls Annual Report.pdftypt, 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 alsAnnual\ Report.pdf. De afschermende tekens sturen de shell; ze worden geen tekens in de bestandsnaam. - 8KernpuntOpties horen bij hun commando
Een bekende letter kan in verschillende programma's iets anders betekenen.
cp -rkopieert directory's recursief, maarls -rkeert alleen de volgorde om. De optie voor een recursieve bestandslijst is hoofdletter-R.Op dezelfde manier maakt
ls -hgrootten 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. - 9UitdagingMaak éé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-lzou daarentegen een andere commandonaam zijn enCourse Plan.txtzonder aanhalingstekens zou twee doelargumenten opleveren. - 10UitdagingGa 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--aanlsaangeeft 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. - 11SamenvattingLees 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.
2Vind de commandowerking die je nodig hebt
10 stappen
Sla deze les op om elke Walkthrough stap voor stap te volgen.
- 1IntroductieVind een antwoord in de hulp
- 2UitlegOpen de handleiding voor het commando
- 3VoorbeeldInterpreteer optionele en herhaalde onderdelen
- 4TipZoek en keer terug naar de prompt
- 5UitdagingKies de pagina die je nodig hebt
- 6VerbandKies hulp op basis van het soort commando
- 7VoorbeeldLees de reden van een fout
- 8UitdagingKies een naslagbron voor een ingebouwd commando
- 9UitdagingGa van doel naar werkend commando
- 10SamenvattingKies een naslagbron die bij de vraag past
3Navigeer door een directoryboom en bekijk de inhoud
13 stappen
Sla deze les op om elke Walkthrough stap voor stap te volgen.
- 1IntroductieVolg een route door de boom
- 2UitlegBegin bij de rootdirectory
- 3VoorbeeldLees een kleine indeling
- 4UitdagingHerken een verborgen vermelding
- 5UitlegBepaal het startpunt van de route
- 6VoorbeeldVolg twee stappen omhoog
- 7TipGebruik verkortingen voor de homedirectory en vorige locatie
- 8UitdagingZoek een directory naast de bovenliggende directory
- 9UitlegVoeg de details toe die je nodig hebt
- 10VoorbeeldMaak onderscheid tussen grootte en volgorde
- 11UitdagingKies de bestandslijst die de vraag beantwoordt
- 12UitdagingVolg een verandering en een inspectie
- 13SamenvattingHoud locatie en weergave gescheiden
4Bouw, kopieer, hernoem en ruim op
14 stappen
Sla deze les op om elke Walkthrough stap voor stap te volgen.
- 1IntroductieVoorspel de uiteindelijke indeling
- 2VoorbeeldMaak de bovenliggende directory's
- 3VoorbeeldVoeg bestanden toe aan de structuur
- 4UitdagingControleer wat eerst moet bestaan
- 5UitlegKopieer één bestand naar een directory
- 6VoorbeeldKopieer de boom
- 7VoorbeeldHernoem binnen de kopie
- 8TipVereis een directory als je die bedoelt
- 9UitdagingZoek een gekopieerd bestand
- 10UitlegVerwijder een lege onderliggende directory
- 11TipControleer het doel vóór verwijdering
- 12UitdagingKies een actie voor alleen lege directory's
- 13UitdagingVolg de hele opruimactie
- 14SamenvattingLees handelingen als veranderingen aan paden
5Werk een patroon uit voordat je het gebruikt
12 stappen
Sla deze les op om elke Walkthrough stap voor stap te volgen.
- 1IntroductieVoorspel een selectie met jokertekens
- 2UitlegGeef elk symbool de juiste breedte
- 3VoorbeeldBeperk één positie
- 4KernpuntHoofdletters en punten blijven van belang
- 5UitdagingSelecteer exacte overeenkomsten
- 6UitlegLaat de shell eerst expanderen
- 7VoorbeeldLees een letterlijk patroon
- 8UitdagingBepaal wat het programma ontvangt
- 9TipHoud de bestemming buiten de selectie
- 10VoorbeeldMaak namen voordat bestanden bestaan
- 11UitdagingGenereer, verplaats en selecteer
- 12SamenvattingMaak onderscheid tussen selecteren en genereren
6Hergebruik commando's en volg overgeërfde instellingen
15 stappen
Sla deze les op om elke Walkthrough stap voor stap te volgen.
- 1IntroductieHergebruik een regel en een waarde
- 2UitlegHaal op met de kans om te bewerken
- 3VoorbeeldBegrijp wat de verkorting hergebruikt
- 4UitdagingHoud het vorige commando goed bij
- 5UitlegKen een waarde toe zonder die te splitsen
- 6VoorbeeldKies wat de aanhalingstekens toestaan
- 7VoorbeeldDeel een kopie met een kindproces
- 8UitdagingVoorspel overerving en lokale wijziging
- 9VerbandKies hoe lang een instelling geldt
- 10UitlegZoek een extern commando
- 11VoorbeeldVoeg een persoonlijke directory achteraan toe
- 12KernpuntEen schuine streep kiest direct een locatie
- 13UitdagingBehoud de eerdere voorrang
- 14UitdagingVerbind ophalen, afschermen en opzoeken
- 15SamenvattingVolg tekst, waarden en bereik
Linux-commandoregel: oefenvragen
Set 1: Lees commando's, hulp en paden10 Oefenvragen
Vraag 1 van 10
sam@laptop:~/training$ en is klaar voor invoer. Welke locatie geeft de prompt aan?Toon antwoordVerberg antwoord
/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
Toon antwoordVerberg antwoord
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
Toon antwoordVerberg antwoord
Vraag 4 van 10
/etc/passwd, maar man passwd opent het commando om wachtwoorden te wijzigen. Welk commando opent de benodigde pagina?Toon antwoordVerberg antwoord
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?Toon antwoordVerberg antwoord
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
mkdir [OPTION]... DIRECTORY.... Wat is minimaal vereist voor een geldige aanroep?Toon antwoordVerberg antwoord
Vraag 7 van 10
/home/sam/labs/module. Welke absolute directory kiest cd ../../downloads?Toon antwoordVerberg antwoord
.. 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
assets zelf, zonder de bestanden erin te tonen. Welk commando doet dat?Toon antwoordVerberg antwoord
-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
ls toont niets in settings, maar ls -A settings toont .localrc. Waarom verschillen de resultaten?Toon antwoordVerberg antwoord
-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
/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?Toon antwoordVerberg antwoord
/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
lab bestaat niet. Hoe kun je lab/week2/input en de ontbrekende bovenliggende directory's in één commando maken?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?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?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?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?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 6 van 10
-scratch.log. Hoe kan GNU rm zonder alias die naam ontvangen zonder die als opties te lezen?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 7 van 10
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?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 9 van 10
/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?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 10 van 10
/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?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
task.txt, task4.txt en task42.txt. Welke naam komt overeen met task?.txt?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 2 van 10
.zip-vermeldingen in de werkdirectory. Wat toont echo *.zip?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 3 van 10
upload vinden, bekijken en bewerken voordat je het uitvoert. Welke functie is geschikt om het te vinden?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 4 van 10
ls "$folder" na folder="Project Plans"?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 5 van 10
rec1.csv, rec2.csv, rec3.csv en rec12.csv. Welke namen komen overeen met rec[!2].csv?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 6 van 10
/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?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 7 van 10
pic1.png en pic2.png. Wat toont echo "pic*.png"?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?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 9 van 10
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?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 10 van 10
/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?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?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 2 van 10
. en ... Welk GNU-commando levert die?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 3 van 10
-d, --date=STRING. Welke rol heeft 2026-02-18 in touch --date=2026-02-18 checkpoint?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 4 van 10
clip.jpg, clip.JPG, clip.Jpg en clip.jpeg. Welke namen komen overeen met clip.[jJ][pP][gG]?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 5 van 10
!cp selecteert zonder het uit te voeren. Welke geschiedenisexpressie toont alleen de expansie?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 6 van 10
/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?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?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 8 van 10
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?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 9 van 10
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?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 10 van 10
/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?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
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 2 van 10
echo '$tag' na tag=blue?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 3 van 10
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?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 4 van 10
touch note{2..4}.txt uit, daarna mkdir bin, mv note[24].txt bin/ en vervolgens echo note?.txt. Wat wordt getoond?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 5 van 10
/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?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 6 van 10
-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?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 7 van 10
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?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 8 van 10
mkdir -p samples/day7 voer je pwd uit en daarna echo !$. Wat selecteert de geschiedenisverkorting?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 9 van 10
/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?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 10 van 10
/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?Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Kom je niet uit je eigen opgave? Huiswerkhulp
Kernbegrippen
A
Aanroepsyntaxis
mkdir [OPTION]... DIRECTORY... staat optionele opties toe, maar vereist ten minste één directorynaam.Absoluut pad
/ 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
file{1..3}.txt.mkdir work/{src,docs} ontvangt twee gegenereerde directorynamen, ook als geen van beide onderliggende directory's al bestaat.Achterwaarts zoeken
Afscherming
ls "Work Plan.txt" houden de spatie binnen de bestandsnaam in plaats van die in twee woorden te splitsen.Alias
ls definiëren als ls --color=auto; type ls onthult die extra commandotekst.apropos
apropos directory helpt mkdir of rmdir te vinden als je de taak maar niet de commandonaam onthoudt.Archiefkopie
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
cp report.txt saved/ geven de twee padargumenten het bronbestand en de bestemmingsdirectory aan.B
Bash
help cd direct aan omdat cd een ingebouwd commando is en geen afzonderlijk programmabestand.Bash-hulp
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
--help.mkdir --help om de optie voor het maken van bovenliggende directory's te vinden zonder door de volledige manpagina te navigeren.Bestand
.pdf eindigt.Bestandsnaamexpansie
ls *.log twee bestandsnamen in plaats van het letterlijke patroon met de ster.Bestandsnaampatroon zonder overeenkomsten
echo *.pdf het patroon, terwijl ls *.pdf meldt dat dat letterlijke pad ontbreekt.Bestemming
archive ontbreekt, gebruikt mv notes.txt archive archive als nieuwe bestandsnaam in plaats van een directory te maken.Bovenliggende directory
.. verwijst naar die bovenliggende directory./home/sam/projects/website bereikt één .. de directory projects, terwijl twee de homedirectory van sam bereiken.Bron
cp en mv staat de bron vóór de bestemming.cp notes.txt archive/ levert notes.txt de gegevens en geeft archive/ aan waar de kopie naartoe moet.C
Commando
ls -l /var is de commandonaam ls; de overige woorden bepalen de werking en het doel van de bestandslijst.Commando opzoeken
type echo kan het ingebouwde Bash-commando melden vóór een extern echo-bestand dat ook in een PATH-directory bestaat.Commandogeschiedenis
D
Directory
/home/sam/projects kan zowel notes.txt als een onderliggende directory met de naam website bevatten.E
Expliciet commandopad
/home/sam/bin duiden ./backup en /home/sam/bin/backup allebei hetzelfde lokale uitvoerbare bestand aan.export
Expressie tussen vierkante haken
! 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
-f in GNU rm, onderdrukt bevestigingsvragen en negeert ontbrekende namen, waardoor het nog belangrijker is de doelexpressie te controleren.-f toe te voegen krijg je geen herstelmogelijkheid; het verandert alleen hoe verwijderen omgaat met vragen en ontbrekende namen.Foutmelding
No such file or directory van ls wijst erop dat je het pad, de hoofdletters en de werkdirectory moet controleren.G
Geschiedenisbestand
~/.bash_history, met het pad in HISTFILE.Geschiedenisexpansie
!! voor het vorige commando.mkdir drafts hergebruikt cd !$ het laatste argument, maar een ander commando ertussen verandert dat argument.Grootte in leesbare eenheden
ls -h.-h met -l: de eerste optie maakt grootten leesbaar, terwijl de tweede de kolom levert waarin ze worden getoond.H
Handleidingsectie
man 5 passwd kiest de pagina over het bestandsformaat in plaats van het commando.HISTCONTROL
ignoreboth combineert ignorespace en ignoredups; een willekeurige shell kan een andere instelling gebruiken.Homedirectory
/home/username.~ naar /home/sam; /home alleen is de directory die de homedirectory's van gebruikers bevat.Hoofdlettergevoeligheid
Plans en plans kunnen verschillende directory's aanduiden; aanvullen helpt de juiste hoofdletters te behouden.I
Info-handleiding
info coreutils opent een uitgebreidere handleiding; met n, p en u beweeg je tussen de gekoppelde knooppunten.Ingebouwd commando
type cd meldt een ingebouwd commando en help cd geeft de documentatie voor het Bash-commando om van directory te veranderen.Interactief verwijderen
rm -i vraagt voor elk doel afzonderlijk.rm -i *.tmp naar de overeenkomende namen voordat die worden verwijderd.J
Jokerteken
* voor een reeks of ? voor één teken.part?.txt accepteert part4.txt, maar sluit een naam uit met twee cijfers op de positie van het vraagteken.K
Kopiëren
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
echo "*.txt" toont de ster en de extensie ook als de directory bestanden bevat die ermee zouden overeenkomen.M
Manpagina
man ls opent het naslagwerk voor het lijstcommando, waarin je naar een benodigde optie kunt zoeken.Metadata
mkdir
-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
Omgevingsvariabele
export te markeren.export city laat een latere kind-Bash de waarde van city lezen die eerder alleen in het ouderproces werd bewaard.Opstartbestand
~/.bashrc wordt gelezen door een nieuwe interactieve Bash die geen loginshell is; een loginprofiel kan dat bestand ook laden.Optie
-l geeft ls opdracht een uitgebreide bestandslijst met details te tonen in plaats van alleen namen.Overschrijven
cp of mv kan dit zonder te vragen doen.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
/ heen te gaan.data/*.csv selecteert direct binnen data; het selecteert niet ook overeenkomende namen onder data/old.Paginagewijze tekstviewer
man kun je zoeken met /size, tussen overeenkomsten bewegen met n en afsluiten met q.Pakketdocumentatie
/usr/share/doc/ in een directory voor dat pakket./usr/share/doc/bash toont, kun je README-bestanden, wijzigingslogboeken, licentietekst en voorbeelden vinden.PATH
/ wordt genoemd.:$HOME/bin achteraan toe te voegen behoud je eerdere directory's en hun voorrang wanneer een programmanaam tweemaal voorkomt.Prompt
sam@laptop:~$ geeft de tilde de homedirectory aan en het afsluitende dollarteken meestal een gewone gebruiker.R
Recursief verwijderen
rm -r.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
ls -R projects toont projects: en daarna koppen voor onderliggende directory's zoals projects/website:.Relatief pad
/home/sam/projects bereikt ../photos de fotodirectory van sam door omhoog en daarna omlaag te gaan.rm
rm -i old.txt vraagt om bevestiging voordat het dat bestand verwijdert, zodat je de handeling kunt weigeren.rmdir
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
# geeft volgens afspraak root aan; gebruik voor gewoon werk een gewoon account.Rootdirectory
/, is het startpunt van de ene bestandssysteemboom van Linux en staat boven elk ander absoluut pad./etc begint bij de rootdirectory; het duidt geen onderliggende directory van je huidige werkdirectory aan.S
Shell
pwd in een terminalsessie en toont de directory waarin de shell werkt.Shellvariabele
city=Lisbon instellen geeft die waarde niet aan een nieuwe kind-Bash, tenzij city al is geëxporteerd.T
Taal- en regio-instellingen
Tekenklasse
[[:digit:]] voor cijfers of [[:lower:]] voor kleine letters.Terminal
Tijdstempel
touch -d 2025-01-31 old.txt vraagt om een gekozen datum in plaats van de huidige tijd voor de bijwerking.Tilde-expansie
~ 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 checklist.txt behoudt de tekst van een bestaande checklist; het maakt het bestand niet leeg voordat de tijdstempels worden bijgewerkt.U
Uitgebreide bestandslijst
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
./backup worden uitgevoerd als de directory niet in PATH staat.V
Variabele
name=value en gelezen via expansie zoals $name.topic=linux toont echo "$topic" de opgeslagen waarde, terwijl unset topic de variabele verwijdert.Variabele-expansie
echo "${city}_trip" voegt tekst toe aan de waarde van city, terwijl $city_trip een andere variabelenaam zou lezen.Verborgen vermelding
ls die standaard weglaat..bashrc verschijnt met ls -a, ook al slaat een gewone bestandslijst van de homedirectory het over.Verplaatsen
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
ls -d -- draft* toont de overeenkomende vermeldingen zelf, zodat overeenkomende directory's als doelen zichtbaar zijn.W
Werkdirectory
cd projects verwijst de relatieve naam notes.txt naar een bestand in die nieuw gekozen directory.whatis
whatis ls geeft een korte doelbeschrijving; man ls biedt het uitgebreidere naslagwerk als meer detail nodig is.Wijzigingstijd
ls -t gebruikt die tijd om vermeldingen met de nieuwste eerst te sorteren.touch uitvoert, wordt dit tijdstempel bijgewerkt zonder de bestandsgegevens te wijzigen, waardoor de volgorde op tijd kan veranderen.Z
Zoekvolgorde
/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.