Linux tree Command Tutorial voor Beginners (6 voorbeelden)

Het zal niet verkeerd zijn om te zeggen dat het ls commando de gouden standaard is als het gaat om het opnoemen van de inhoud van mappen op de Linux commandoregel. Er bestaan echter wel enkele alternatieven die hun eigen sterke punten hebben in vergelijking met ls. Eén zo’n hulpmiddel is tree, waarvan we hier in deze handleiding de basisprincipes zullen bespreken.

Maar voor we dat doen, is het de moeite waard te vermelden dat alle voorbeelden hier getest zijn op een Ubuntu 18.04 LTS machine.

Linux boom commando

Zoals de naam doet vermoeden, geeft het tree commando in Linux de inhoud van mappen weer in een boom-achtig formaat. Hieronder volgt de syntaxis ervan:

tree [OPTIONS] [directory]

En hier is hoe de man pagina van het gereedschap het uitlegt:

Tree is a recursive directory listing program that produces a depth indented listing of files, 
which is colorized ala dircolors if the LS_COLORS environment variable is set and output is to tty.
With no arguments, tree lists the files in the current  directory. When directory arguments are 
given, tree lists all the files and/or directories found in the given directories each in turn. 
Upon completion of listing all files/directories found, tree returns the total number of files 
and/or directories listed.

Mocht het tree commando niet geïnstalleerd zijn in je Ubuntu doos, dan kun je het pakken met het volgende commando:

sudo apt-get install tree

Hieronder volgen enkele voorbeelden in vraag en antwoord stijl die je een goed voorbeeld moeten geven van hoe het tree commando werkt.

Q1. Hoe werkt het tree commando?

Het basisgebruik is vrij eenvoudig. Voer gewoon het ‘tree’ commando uit sans enige optie. Hier is een voorbeeld:

tree

Hier is de uitvoer die dit commando op mijn systeem produceerde:

Hoe werkt het boom commando

Zo zie je dat in de uitvoer een boomachtige structuur werd geproduceerd. Merk op dat het de huidige werkdirectory is waarvan de inhoud standaard getoond wordt. Wil je de inhoud van een andere directory tonen, dan moet je het pad naar die directory in input opgeven.

Q2. Hoe kan ik tree ook verborgen bestanden laten tonen?

Standaard toont het tree commando geen verborgen bestanden. Als je wilt, kun je tree dat echter laten doen door de -a commandoregeloptie te gebruiken.

tree -a

Hier staat wat de man page over -a zegt:

All files are printed. By default tree does not print hidden files (those beginning with a dot `.')
. In no event does tree print the file system constructs `.' (current directory) and `..' 
(previous directory).

Q3. Hoe kan ik tree alleen mappen in de uitvoer laten weergeven?

Stel dat je wilt dat het tree commando alleen directory entries in de uitvoer toont. Je kunt dat doen met de -d commandoregeloptie.

Bijvoorbeeld, het volgende commando:

tree -d

produceerde deze uitvoer:

Hoe maak je dat tree alleen mappen in uitvoer toont

Q4. Hoe kun je tree het volledige padvoorvoegsel voor bestanden laten afdrukken?

Dat kan met de -f commandolijn optie. Hier is een voorbeeld:

tree -f

Hier is een deel van de uitvoer die dit commando op mijn systeem oplevert:

Hoe kan ik tree het volledige padvoorvoegsel voor bestanden laten afdrukken

Q5. Hoe kun je de diepte van de mappenboom in de uitvoer regelen?

Met het tree commando kun je ook de diepte van de mappenboom die in de uitvoer wordt geproduceerd regelen. Dit kun je doen met de -L commandoregeloptie, die een numerieke waarde vraagt die de toegestane mapdiepte aangeeft. Bijvoorbeeld:

tree -d -L 1

Het bovenstaande commando zou ervoor zorgen dat alleen het eerste niveau van mappen in de uitvoer wordt weergegeven.

Q6. Hoe kan ik selectief sommige namen in de uitvoer laten staan?

Het tree commando biedt een -I commandoregeloptie die vereist dat je een patroon als invoer doorgeeft. Afhankelijk van de namen van bestanden/mappen waarvan je wilt dat ze niet in de uitvoer worden weergegeven, maak je een patroon. Ik wilde bijvoorbeeld alleen mappen weergeven, maar wilde geen enkele naam met ‘Ubuntu’ patroon (hoofdlettergevoelig), dus gebruikte ik de -I commandolijn optie op de volgende manier:

tree -d -I *Ubuntu

Conclusie

Hoewel we heel wat tree commando-regel opties besproken hebben, is het een feit dat dit hulpmiddel nog veel meer mogelijkheden biedt. Als je klaar bent met oefenen wat we hier allemaal besproken hebben, ga dan naar de tree commando man pagina om er meer over te leren.