De Linux-CLI is een krachtige interface waarmee gebruikers rechtstreeks met het besturingssysteem kunnen communiceren. Voor systeembeheer, softwareontwikkeling en tal van andere technische taken is de CLI onmisbaar. De CLI biedt flexibiliteit en controle over systeembewerkingen en is daarmee een cruciaal hulpmiddel voor professionals.
Man pages zijn uitgebreide documentatiebronnen die de functionaliteit, opties en het gebruik van commando’s en programma’s in Linux beschrijven. Ze vormen een essentieel naslagwerk voor gebruikers en bieden gedetailleerde informatie en voorbeelden die helpen om verschillende tools te begrijpen en effectief in te zetten.
Het man-commando is de toegangspoort tot deze handleidingen. Dankzij een eenvoudige interface om man pages op te vragen en te lezen, vinden gebruikers snel de informatie die ze nodig hebben. Dat is vooral handig bij het oplossen van problemen, het leren van nieuwe commando’s en het beheersen van de Linux-omgeving.
Deze gids geeft u een gedetailleerd inzicht in het man-commando in Linux en laat zien hoe belangrijk het is voor de toegang tot handleidingen (of “man pages”) van allerlei commando’s en programma’s. U krijgt praktische kennis over het efficiënt gebruiken van het man-commando met voorbeelden uit de praktijk, zodat u handiger wordt op de commandoregel.
Wat is het man-commando in Linux?
Het man-commando ontstond begin jaren zeventig bij het Unix-besturingssysteem dat bij Bell Labs werd ontwikkeld door Ken Thompson, Dennis Ritchie en anderen. In het begin was de Unix-documentatie schaars, waardoor er behoefte ontstond aan een gestandaardiseerd systeem om commando’s en functies te documenteren. De eerste Unix Programmer’s Manual verscheen in 1971 en bevatte korte beschrijvingen en gebruiksvoorbeelden van verschillende commando’s en programma’s.
Het man-commando werd ontworpen om de elektronische kopieën van die gedrukte handleidingen rechtstreeks vanaf de commandoregel te raadplegen. Zo konden gebruikers de benodigde documentatie makkelijker vinden en hoefden ze minder vaak gedrukte handleidingen te pakken. Dit systeem werd in latere Unix-versies verder verfijnd en uitgebreid.
Toen Linus Torvalds begin jaren negentig Linux ontwikkelde, nam Linux een flink aantal eigenschappen van Unix over, waaronder het man-commando. Het Linux man-pages-project werd gestart om ervoor te zorgen dat Linux-specifieke documentatie direct beschikbaar was voor gebruikers, met onderwerpen variërend van basiscommando’s tot geavanceerde system calls en configuratiebestanden.
Wanneer een gebruiker man typt gevolgd door een commandonaam, doorzoekt het systeem de database met handleidingen en haalt het de relevante documentatie op. Daarbij worden vooraf gedefinieerde mappen doorzocht waarin man pages zijn opgeslagen en wordt er een actuele systeembrede database opgebouwd, zodat gebruikers accurate en volledige informatie krijgen.
(Het bijwerken van de “man db” (database) wordt in veel Linux-distributies vaak als post-installatiestap door het pakketbeheer geactiveerd. Zo blijft uw documentatie na updates, installaties en verwijderingen net zo fris, vrij van restanten en (in theorie) net zo bugvrij als uw software zelf.
Man gebruiken: van basis tot geavanceerd
Zoals hierboven al aangestipt kunt u man pages van veelgebruikte commando’s (bijvoorbeeld ls, grep of ssh) rechtstreeks vanaf de commandoregel raadplegen met man [commando] voor het commando dat u interesseert. Geavanceerdere mogelijkheden zoals zoeken op trefwoord komen hieronder aan bod.
Navigeren door man pages
Navigeren door man pages is eenvoudig. Wie met vim-compatibele editors werkt, herkent de navigatietoetsen waarschijnlijk meteen:
| Actie | Toetscommando | Beschrijving |
| Help weergeven. | h | Toont het helpscherm met een overzicht van alle navigatiecommando’s. |
| Zoeken naar een term. | / gevolgd door de term | Start een zoekopdracht naar de opgegeven term binnen de man page. |
| Naar het volgende zoekresultaat. | n | Gaat naar het volgende voorkomen van de zoekterm binnen de man page. |
| Naar het vorige zoekresultaat. | N | Gaat naar het vorige voorkomen van de zoekterm binnen de man page. |
| Man page-viewer afsluiten. | q | Sluit de man page-viewer af en keert terug naar de commandoprompt. |
| Omlaag scrollen. | Pijl omlaag of j | Scrolt regel voor regel omlaag. |
| Omhoog scrollen. | Pijl omhoog of k | Scrolt regel voor regel omhoog. |
| Pagina omlaag. | Space / Ctrl + F | Scrolt pagina voor pagina omlaag. |
| Pagina omhoog. | b of Ctrl + B | Scrolt pagina voor pagina omhoog. |
| Naar het begin van het document. | g | Gaat naar het begin van de man page. |
| Naar het einde van het document. | G | Gaat naar het einde van de man page. |
| Scherm vernieuwen. | Ctrl + L | Tekent het scherm opnieuw, handig als de weergave beschadigd raakt. |
| Naar de volgende sectie. | } | Springt naar de volgende sectiekop. |
| Naar de vorige sectie. | { | Springt naar de vorige sectiekop. |
Geavanceerde voorbeelden:
- Specifieke secties van man pages raadplegen: sommige commando’s hebben meerdere secties in hun documentatie. Met man 5 passwd opent u bijvoorbeeld de indeling van het configuratiebestand van het commando passwd, terwijl man 1 passwd het gebruikerscommando behandelt.
- Met trefwoorden zoeken binnen man pages: het commando man -k [trefwoord] zoekt naar alle man pages die het opgegeven trefwoord bevatten. Zo toont man -k network alle man pages die met netwerken te maken hebben.
Tips en trucs om het man-commando te beheersen
De uitvoer van het man-commando aanpassen:
- Man combineren met andere commando’s voor meer gebruiksgemak: u kunt man combineren met andere commando’s om de uitvoer van een man page te verwerken. Zo filtert man ls | grep -i sort de man page van ls en toont alleen regels met de term “sort”.
- De weergave van man pages aanpassen: standaard wordt het commando less gebruikt om de inhoud van de man page in een doorzoekbare, navigeerbare vorm weer te geven. Door omgevingsvariabelen als MANPAGER en MANWIDTH in te stellen, kunt u de uitvoer wijzigen. Met
export MANPAGER="less -S"worden man pages bijvoorbeeld in less weergegeven met horizontaal scrollen ingeschakeld.
Een typische man page bevat secties als NAME, SYNOPSIS, DESCRIPTION, OPTIONS en EXAMPLES. Door man pages in deze secties onder te verdelen, ontstaat een consistente structuur waarmee gebruikers de gewenste informatie sneller vinden.
Dat komt de leesbaarheid ten goede en zorgt ervoor dat belangrijke details niet over het hoofd worden gezien. De documentatie wordt er gebruiksvriendelijker en efficiënter door, voor zowel nieuwe als ervaren gebruikers.
Elke sectie heeft een specifiek doel:
- NAME: korte beschrijving van het commando. Hiermee wordt het doel van het commando meteen duidelijk.
- SYNOPSIS: samenvatting van de commandosyntaxis. Deze sectie beschrijft hoe u het commando gebruikt, inclusief de parameters en opties.
- DESCRIPTION: uitgebreide uitleg van de functionaliteit van het commando. Deze sectie gaat dieper in op wat het commando doet en hoe het werkt.
- OPTIONS: overzicht van de beschikbare opties en hun beschrijvingen. Deze sectie helpt gebruikers de verschillende vlaggen en parameters te begrijpen die het gedrag van het commando aanpassen.
- EXAMPLES: praktische gebruiksvoorbeelden. Deze voorbeelden laten veelvoorkomende toepassingen zien en helpen gebruikers in te zien hoe het commando in de praktijk kan worden ingezet.
Geavanceerde toepassingen van man
Specifieke secties raadplegen en eruit halen
- Filteren op sectienummer: om specifieke secties van man pages te openen. Zo haalt man 3 printf de documentatie op van de functie printf in de C-standaardbibliotheek. Dit zijn de sectienummers van man pages:
- 1: gebruikerscommando’s (uitvoerbare programma’s of shell-commando’s)
- 2: system calls (functies die de kernel biedt)
- 3: library calls (functies binnen programmabibliotheken)
- 4: speciale bestanden (meestal te vinden in /dev)
- 5: bestandsindelingen en conventies (bijvoorbeeld /etc/passwd)
- 6: games en screensavers
- 7: diversen (waaronder macropakketten en conventies)
- 8: systeembeheercommando’s (meestal alleen voor root)
- 9: kernelroutines (niet-standaard)
- Specifieke secties isoleren: haal gedetailleerde secties zoals EXAMPLES eruit met tools als awk of sed. Voorbeeld:
man ls | sed -n '/^EXAMPLES/,/^$/p'haalt de sectie EXAMPLES uit de man page van ls.
Eigen man pages maken
- Eigen documentatie schrijven: maak eigen man pages voor zelfgeschreven scripts en commando’s. U schrijft daarvoor een man page in een tekstbestand en installeert die vervolgens, waarna u het met man kunt openen. Voorbeeld: sudo cp mycommand.1 /usr/local/man/man1/ installeert een eigen man page.
- Man-pages in scripts insluiten: neem documentatie op in scripts die via man te raadplegen is. Gebruik het commando cat om de ingesloten man page-tekst weer te geven. Voorbeeld: man ./myscript toont de ingesloten man page van myscript.
Man integreren met andere tools
- Man combineren met apropos: gebruik apropos om commando’s te vinden die bij een trefwoord horen en stuur de resultaten vervolgens door naar man. Voorbeeld: apropos network | xargs -n 1 man -k zoekt naar netwerkgerelateerde commando’s en toont hun man pages.
- Let op: man versus apropos versus info: het man-commando levert gedetailleerde handleidingen voor commando’s en programma’s in een vaste structuur, apropos doorzoekt de beschrijvingen van handleidingen op trefwoorden om commando’s over een bepaald onderwerp te vinden en info toont documentatie in hypertekstvorm, vaak met meer detail en betere navigatie dan man.
- Documentatie automatisch opzoeken: maak scripts die het opzoeken en weergeven van man pages op basis van gebruikersinvoer automatiseren. Voorbeeld:
#!/bin/bash read -p "Enter command: " cmd; man $cmdvraagt de gebruiker om een commando en toont de bijbehorende man page.
Uitvoer aanpassen en verbeteren
- Uitvoer opmaken voor een betere leesbaarheid: gebruik omgevingsvariabelen en opties om de uitvoer van man pages aan te passen. Voorbeeld: export MANWIDTH=80; man ls stelt de breedte van de uitvoer in voor een betere leesbaarheid op smalle schermen.
- Man pages naar andere formaten converteren: converteer man pages naar HTML of PDF om ze offline te lezen of af te drukken. Voorbeeld:
man -t ls | ps2pdf - ls.pdfzet de man page van ls om in een PDF-bestand.
Geavanceerde zoektechnieken
- Volledige tekst doorzoeken in man pages: doorzoek alle geïnstalleerde man pages op volledige tekst met tools als grep. Voorbeeld:
grep -r 'keyword' /usr/share/man/man*zoekt naar een trefwoord in alle man pages. - Reguliere expressies gebruiken: gebruik reguliere expressies om complexe patronen in man pages te vinden. Voorbeeld:
man ls | grep -E '\-l | \-a'zoekt in de man page van ls naar zowel de optie -l als -a.
Lokalisatie en internationalisatie
- Man pages in andere talen raadplegen: stel de omgevingsvariabele LANG in om man pages in andere talen te openen. Voorbeeld: LANG=es_ES.UTF-8 man ls toont de man page van ls in het Spaans.
- Meertalige man pages maken: schrijf en installeer meertalige man pages voor eigen commando’s, zodat ze in verschillende locales beschikbaar zijn.
Man pages integreren met IDE’s en editors
- IDE-integratie: configureer Integrated Development Environments (IDE’s) zo dat ze man pages tonen voor gemarkeerde commando’s of functies. Voorbeeld: Vim instellen met het commando :Man om man pages direct binnen de editor te bekijken.
- Editorplug-ins: gebruik plug-ins voor uw editor die snelle toegang tot man pages bieden. Voorbeeld: de plug-in vim-man installeren om met één commando man pages in Vim op te zoeken.
Man gebruiken in scripts en automatisering
- U kunt het hulpprogramma man in scripts gebruiken om het ophalen van informatie uit man pages te automatiseren. Zo haalt
man ls | col -b | grep -A2 '^ *-l 'de beschrijving van de optie -l voor het commando ls op. Deze techniek is handig om geautomatiseerde documentatietools te maken of om commandohulp in eigen scripts te integreren.
Meer halen uit uw werk met Linux
Het man-commando is een onmisbaar hulpmiddel voor Linux-gebruikers en geeft direct toegang tot uitgebreide documentatie over commando’s en programma’s. Het helpt gebruikers de verschillende tools in de Linux-omgeving beter te begrijpen en effectiever te gebruiken.
We raden gebruikers aan om man te verkennen en te experimenteren met andere Linux-commando’s om hun kennis en vaardigheid te vergroten. Hoe vertrouwder u met deze tools raakt, hoe effectiever u uw systemen kunt beheren en problemen kunt oplossen. U kunt dit praktijkgerichte leren verdiepen met onze videogids met essentiële Linux-commando’s
Tot slot over de rol van man bij effectief werken met de Linux-commandoregel: het man-commando beheersen is een basisvaardigheid voor iedereen die de command line interface van Linux gebruikt. Het levert niet alleen essentiële documentatie, maar zorgt er ook voor dat gebruikers zelfstandiger worden en met meer vertrouwen hun weg vinden in het Linux-besturingssysteem.
U kunt ook de video bekijken over Zo gebruikt u het man-commando van Linux (met voorbeelden van beginner tot gevorderd).
