Heb je ooit een opdracht ingetypt en vervolgens ontdekt dat je niet wist hoe je deze moest gebruiken? Voordat je je browser opent en begint te zoeken naar antwoorden, kun je de ingebouwde helpfunctie in de Linux-terminal van de betreffende opdracht proberen. Geloof me, de meeste opdrachten kunnen offline worden opgezocht. Daarenboven is een internetverbinding soms traag of zelfs niet beschikbaar. In dergelijke gevallen kun je de online help pagina’s niet correct weergeven.

Om verschillende redenen kun je de ingebouwde opties -h of --help gebruiken bij de opdracht dat je wilt leren kennen om de werking ervan te begrijpen.
In de meeste gevallen bevatten de online handleidingen dezelfde informatie als de ingebouwde helpfunctie. Als dat zo is, is het niet nodig om de online pagina’s te raadplegen om dezelfde informatie te verkrijgen. Het gebruik van de ingebouwde functie is veel sneller. Je bespaart tijd en hoeft minder te klikken als je alleen een eenvoudige syntaxis of beschikbare opties wilt controleren.
Een ander punt om in overweging te nemen is dat sommige online tutorials verouderde informatie of fouten bevatten. Dit gebeurt wanneer er iets aan een Linux-opdracht verandert, maar de auteurs hun tutorial niet bijwerken. Ook hier bij linux.pindanet.be worden oudere tips niet up-to-date gehouden. De officiële documentatie of de handleidingspagina daarentegen is altijd de meest recente of, wat nog belangrijker is, altijd correct voor de versie die je gebruikt. Zo hoef je je geen zorgen te maken dat iets niet werkt.
De meeste Linux-opdrachten ondersteunen de optie -h of --help om de beschikbare opties weer te geven.
Als je dus niet zeker weet hoe je een bepaalde opdracht moet gebruiken, voeg je -h of --help toe na de opdracht en druk je op Enter.
Je krijgt dan een overzicht van het doel van het opdracht, alle beschikbare opties en wat elke optie doet.
Zo krijg je snel een overzicht van het gebruik van de opdracht.
Stel dat je probeert om met ls bestanden op te sommen, maar je weet niet welke opties je moet gebruiken.
Je kunt dan de volgende opdracht uitvoeren:
dany@pindabook:~$ ls --help
Gebruik: ls [OPTIE...] [BESTAND...]
Toont informatie over de gegeven BESTANDen (standaard over de huidige map).
De items worden alfabetisch gesorteerd als geen van de opties '-cftuvSUX'
noch '--sort' gegeven is.
(Een verplicht argument bij een lange optie geldt ook voor de korte vorm.)
-a, --all ook de namen tonen die beginnen met een '.'
-A, --almost-all als '-a', maar de items '.' en '..' weglaten
--author (met '-l') de auteur van elk bestand tonen
-b, --escape niet-grafische tekens tonen als codes in C-stijl
--block-size=LETTER met '-l': groottes in deze eenheden tonen;
bijvoorbeeld '--block-size=M'; zie hieronder
-B, --ignore-backups geen namen tonen die eindigen op '~'
-c met '-lt': op 'ctime' sorteren en deze tonen (de
tijd van de laatste statusinformatiewijziging);
met '-l': op naam sorteren en 'ctime' tonen;
anders: op 'ctime' sorteren, recentste eerst
-C list entries by columns
--color[=WHEN] color the output WHEN; more info below
-d, --directory list directories themselves, not their contents
-D, --dired generate output designed for Emacs' dired mode
-f hetzelfde als '-a -U' zonder '-l -s --color'
-F, --classify achter elk item het type aanduiden (één van */=>@|)
--file-type als '--classify', maar geen '*'
--format=WOORD te gebruiken opmaak; WOORD kan zijn 'commas' (-m),
'across' of 'horizontal' (-x), 'vertical' (-C),
'long' of 'verbose' (-l), 'single-column' (-1)
--full-time hetzelfde als '-l --time-style=full-iso'
-g als '-l', maar geen eigenaar tonen
--group-directories-first
mappen vóór bestanden groeperen
-G, --no-group bij een uitgebreide lijst geen groepsnaam tonen
-h, --human-readable groottes in leesbare vorm tonen (samen met -l/-s))
--si idem, maar machten van 1000 i.p.v. 1024 gebruiken
-H, --dereference-command-line
symbolische koppelingen op opdrachtregel volgen
--dereference-command-line-symlink-to-dir
symbolische koppelingen op opdrachtregel die naar
een map verwijzen volgen
--hide=PATROON de namen die voldoen aan PATROON niet tonen
(geldt niet samen met '-a' of '-A')
--hyperlink[=WHEN] hyperlink file names WHEN
--indicator-style=WIJZE op deze wijze achter elk item het type aanduiden;
WIJZE kan zijn: 'none' (standaard), 'slash' (-p),
'file-type' (--file-type) of 'classify' (-F)
-i, --inode het indexnummer van elk bestand tonen
-I, --ignore=PATROON de namen die voldoen aan PATROON niet tonen
-k, --kibibytes ruimtegebruik tonen in blokken van 1024 bytes
(alleen bij '-s' en maptotalen)
-l uitgebreide bestandsinformatie tonen
-L, --dereference bij het tonen van bestandsinformatie voor een
symbolische koppeling, de informatie over het
bestand waar de koppeling naar verwijst tonen
in plaats van over de koppeling zelf
-m geen kolommen maar kommagescheiden lijst tonen
-n, --numeric-uid-gid als '-l', met numerieke gebruikers- en groeps-ID's
-N, --literal de itemnamen tonen zonder aanhalingen of escapes
-o als '-l', maar groepsinformatie niet tonen
-p, --indicator-style=slash
een '/'-indicator achter mapnamen toevoegen
-q, --hide-control-chars een '?' tonen in plaats van niet-grafische tekens
--show-control-chars niet-grafische tekens tonen zoals ze zijn
(standaard, tenzij uitvoer naar terminal gaat)
-Q, --quote-name itemnamen omsluiten met aanhalingstekens
--quoting-style=STIJL te gebruiken aanhalingsstijl voor items;
STIJL kan zijn: 'literal' (-N), 'locale',
'shell', 'shell-always', 'shell-escape',
'shell-escape-always', 'c' (-Q), 'escape' (-b)
-r, --reverse de sorteervolgorde omdraaien
-R, --recursive submappen recursief tonen
-s, --size toegewezen aantal blokken tonen voor ieder bestand
-S op bestandsgrootte sorteren (grootste eerst)
--sort=WIJZE sorteerwijze: 'none' (-U), 'size' (-S),
'time' (-t), 'version' (-v), 'extension' (-X),
'name' (standaard), 'width'
--time=WORD select which timestamp used to display or sort;
access time (-u): atime, access, use;
metadata change time (-c): ctime, status;
modified time (default): mtime, modification;
birth time: birth, creation;
with -l, WORD determines which time to show;
with --sort=time, sort by WORD (newest first)
--time-style=TIJDSTIJL tijd-/datumopmaak bij '-l'; zie TIME_STYLE hieronder
-t op tijd sorteren; zie '--time'
-T, --tabsize=AANTAL te gebruiken tabbreedte in plaats van 8
-u met -lt: op toegangstijd sorteren en deze tonen;
met -l: toegangstijd tonen en op naam sorteren;
anders: op toegangstijd sorteren (nieuwste eerst)
-U de items ongesorteerd tonen, op plaatsingsvolgorde
-v logisch sorteren op (versie)nummers in de naam
-w, --width=BREEDTE te gebruiken schermbreedte; 0 betekent onbegrensd
-x de items per regel tonen i.p.v. in kolommen
-X alfabetisch sorteren op bestandsextensie
-Z, --context beveiligingscontext van elk bestand tonen
--zero uitvoerregels eindigen met NUL i.p.v. nieuweregel
-1 één item per regel tonen
--help deze hulptekst tonen en stoppen
--version programmaversie tonen en stoppen
GROOTTE is een geheel getal met een optionele eenheid (bijv. 10K is 10*1024).
Mogelijke eenheden zijn: K, M, G, T, P, E, Z, Y, R, Q (machten van 1024)
of KB, MB, ... (machten van 1000). Bijvoorbeeld: 10MB is 10*1000*1000.
Ook binaire voorvoegsels mogen gebruikt worden: KiB = K, MiB = M, enzovoort.
The TIME_STYLE argument can be full-iso, long-iso, iso, locale, or +FORMAT.
FORMAT is interpreted like in date(1). If FORMAT is FORMAT1<newline>FORMAT2,
then FORMAT1 applies to non-recent files and FORMAT2 to recent files.
TIME_STYLE prefixed with 'posix-' takes effect only outside the POSIX locale.
Also the TIME_STYLE environment variable sets the default style to use.
The WHEN argument defaults to 'always' and can also be 'auto' or 'never'.
Het gebruik van kleuren om bestandstypes te onderscheiden kan uitgeschakeld
worden met '--color=never' (standaard). Met '--color=auto' produceert 'ls'
alleen kleurcodes als standaarduitvoer verbonden is met een terminal.
Omgevingsvariabele LS_COLORS kan deze instellingen wijzigen. Gebruik
het commando 'dircolors' om deze variabele in te stellen.
De afsluitwaarde is:
0 indien OK,
1 bij kleine problemen (bijv. geen toegang tot een submap),
2 bij serieuze problemen (bijv. geen toegang tot argument op opdrachtregel).
Online hulp bij 'GNU coreutils': <https://www.gnu.org/software/coreutils/>
Meld vertaalfouten aan <vertaling@vrijschrift.org>.
Volledige documentatie: <https://www.gnu.org/software/coreutils/ls>
of lokaal via: info '(coreutils) ls invocation'
Je krijgt een korte samenvatting van alle beschikbare opties, zoals -l (kleine letter L) voor de lange weergave of -a om verborgen bestanden te tonen.
De uitvoer lijkt in eerste instantie misschien overweldigend, maar het is vaak de snelste manier om de optie te vinden die je nodig hebt.
De meeste opdrachten ondersteunen ofwel -h ofwel --help, of soms beide.
Sommige opdrachten gebruiken -h als optie voor een andere functie.
Zo gebruikt de eerder genoemde opdracht ls -h om de inhoud van een map in een voor mensen leesbare vorm weer te geven.
Dus als -h niet werkt, probeer je --help.
Sommige opdrachten hebben helemaal geen --help.
Dit zijn uitzonderingen.
In zo'n gevallen kun je het beste de man opdracht gebruiken.
Als je met --help een snel overzicht krijgt, zijn de man-pagina’s (afkorting van manual-pages) de uitgebreide handleidingen voor Linux-opdrachten.
Ze bieden gedetailleerde documentatie, waaronder informatie over wat een opdracht doet, de opties en zelfs voorbeelden.
In sommige gevallen zul je echter merken dat beide bijna hetzelfde weergeven.
Stel, je probeert met ls bestanden weer te geven, maar je weet niet welke opties je moet gebruiken.
Om bijvoorbeeld alles te weten over de ls-opdracht, typ je de opdracht man ls gevolgd door Enter.
dany@pindabook:~$ man ls
LS(1) Opdrachten voor gebruikers LS(1)
NAAM
ls - toon de inhoud van mappen
SAMENVATTING
ls [OPTIE]... [BESTAND]...
BESCHRIJVING
Toon informatie over de gegeven BESTANDen (standaard in de huidige map). De items worden alfabetisch
gesorteerd als geen van de opties -cftuvSUX noch --sort gegeven is.
Een verplicht argument bij een lange optie is ook verplicht voor de korte optie.
-a, --all
ook de namen tonen die beginnen met een '.'
-A, --almost-all
items '.' en '..' weglaten
--author
met -l, toon de auteur van elk bestand
-b, --escape
niet-grafische tekens tonen als codes in C-stijl
--block-size=GROOTTE
met -I, schaal de groottes met GROOTTE tijdens afdrukken; b.v. '--block-size=M'; zie GROOTTE formaat
hieronder
Manual page ls(1) line 1 (press h for help or q to quit)
Dit opent een gestructureerde handleiding, die meestal is onderverdeeld in secties zoals:
Je kunt door een man-pagina scrollen met de pijltjestoetsen, de pagina verlaten met q en zoeken naar trefwoorden door een schuine streep gevolgd door het trefwoord in te typen, zoals /trefwoord.
Als je hulp nodig hebt bij het navigeren door de man-pagina, kun je h typen en op Enter drukken.
Voor de handleiding van de man-opdracht zelf voer je het volgende uit:
dany@pindabook:~$ man man
In het begin kunnen man-pagina’s overweldigend zijn. Je kunt het gevoel hebben dat je er niets van begrijpt en dat je er niets mee kunt. Maar voor een Linux-gebruiker zijn ze een onmisbare bron van informatie. Als een man-pagina te ingewikkeld lijkt, geen nood: er zijn eenvoudigere alternatieven.
Als je de man-opdracht niet wilt gebruiken, is er een alternatieve opdracht genaamd tldr.
Met de tldr-opdracht kun je een overzicht krijgen van de beschikbare opties van een opdracht en voorbeeldopdrachten zien die het meest worden gebruikt.
Je moet deze opdracht wel eerst installeren.
Het probleem bij tldr is dat het werkt met een centrale database waarvoor verschillende programma's (clients) voor bestaan.
Een overzicht van alle clients en de distributies die ze ondersteunen, kan je terugvinden op de Clients Wiki pagina van tldr.
In Debian Trixie installeer je de tldr client tealdeer:
dany@pindabook:~$ sudo apt install tealdeer
[sudo] wachtwoord voor dany:
Installeren:
tealdeer
Samenvatting:
Opwaarderen: 0, Installeren: 1, Verwijderen: 0, Niet opwaarderen: 0
Downloadgrootte: 967 kB
Benodigde ruimte: 2.760 kB / 84,6 GB beschikbaar
Ophalen:1 http://deb.debian.org/debian trixie/main amd64 tealdeer amd64 1.7.2-1+deb13u1 [967 kB]
967 kB opgehaald in 0s (11,4 MB/s)
Voorheen niet geselecteerd pakket tealdeer wordt geselecteerd.
(Database wordt ingelezen ... 206609 bestanden en mappen momenteel geïnstalleerd.)
Uitpakken van .../tealdeer_1.7.2-1+deb13u1_amd64.deb wordt voorbereid...
Bezig met uitpakken van tealdeer (1.7.2-1+deb13u1) ...
Instellen van tealdeer (1.7.2-1+deb13u1) ...
Bezig met afhandelen van triggers voor man-db (2.13.1-1) ...
Daarna moet je de centrale database met de helppagina's downloaden.
Je kunt deze opdracht later (regelmatig) ook gebruiken om de database bij te werken met aanpassingen en nieuwe helppagina's.
Eenmaal de database is bijgewerkt, kan je de tldr opdracht zonder internet gebruiken.
Het downloaden/bijwerken van de database gebeurt met de volgende opdracht:
dany@pindabook:~$ tldr --update
Successfully created cache directory path `/home/dany/.cache/tealdeer`.
Successfully updated cache.
Laten we teruggaan naar het vorige voorbeeld en kijken wat de tldr ls-opdracht weergeeft.
dany@pindabook:~$ tldr ls
Toon de inhoud van een map.
Meer informatie: <https://www.gnu.org/software/coreutils/manual/html_node/ls-invocation.html>.
Toon één bestand per regel:
ls -1
Toon alle bestanden, inclusief verborgen bestanden:
ls [-a|--all]
Toon alle bestanden, met een `/` achter de namen van mappen:
ls [-F|--classify]
Lange lijstweergave (permissies, eigendom, grootte en wijzigingsdatum) van alle bestanden:
ls [-la|-l --all]
Lange lijstweergave met grootte weergegeven in leesbare eenheden (KiB, MiB, GiB):
ls [-lh|-l --human-readable]
Lange lijstweergave gesorteerd op grootte (aflopend) recursief:
ls [-lSR|-lS --recursive]
Lange lijstweergave van alle bestanden, gesorteerd op wijzigingsdatum (oudste eerst):
ls [-ltr|-lt --reverse]
Toon alleen mappen:
ls [-d|--directory] */
dany@pindabook:~$ sudo apt purge tealdeer
[sudo] wachtwoord voor dany:
VERWIJDEREN:
tealdeer*
Samenvatting:
Opwaarderen: 0, Installeren: 0, Verwijderen: 1, Niet opwaarderen: 0
Vrijgemaakte ruimte: 2.760 kB
Doorgaan? [J/n]
(Database wordt ingelezen ... 206730 bestanden en mappen momenteel geïnstalleerd.)
tealdeer (1.7.2-1+deb13u1) wordt verwijderd ...
Bezig met afhandelen van triggers voor man-db (2.13.1-1) ...
dany@pindabook:~$ sudo apt autoremove
Samenvatting:
Opwaarderen: 0, Installeren: 0, Verwijderen: 0, Niet opwaarderen: 0
dany@pindabook:~$ rm -r .cache/tealdeer