Boomopdracht in Linux met voorbeelden
In UNIX/LINUX-systemen, maar ook in MS-DOS en Microsoft Windows, is de boom een recursief directorylijstprogramma dat een lijst met bestanden met een diepe inspringing produceert. Zonder argumenten geeft de boomstructuur de bestanden in de huidige map weer. Wanneer mapargumenten worden opgegeven, vermeldt de boom achtereenvolgens alle bestanden of mappen die in de gegeven mappen zijn gevonden.
Het toont mappen als Braches en bestanden als bladeren, waardoor het voor een gebruiker gemakkelijk wordt om de organisatie van bestanden en mappen binnen een bepaald pad te visualiseren.
Het commando `tree` installeren in Linux
Standaard is het boomcommando niet geïnstalleerd. Typ de volgende opdracht om hetzelfde te installeren
Installatie in RHEL / CentOS / Fedora Linux
Versie kleiner dan of gelijk aan Rhel8
sudo yum install tree
Let op: in een versie groter dan RHEL 8 hebben we de dnf-opdracht nodig.
Bijvoorbeeld bij installatie in RHEL 9.
sudo dnf install tree
sudo dnf installeer boom
Installatie in Debian/Mint/Ubuntu Linux
sudo apt-get install tree
sudo apt-get install tree
Installatie in Apple OS X
brew install tree
Basissyntaxis van Tree-opdracht in Linux
tree [options]
Als we de directorystructuur willen weergeven met behulp van het eenvoudige `tree`-commando zonder enige optie toe te voegen.
boom
Hier zal het commando `tree` de mapstructuur uitvoeren, beginnend bij de huidige map.
Opties beschikbaar in het commando `tree` in Linux
| Opties | Beschrijving |
|---|---|
| -hulp | -hulp |
| -versie | Voert de versie van de boom uit. |
| `-a` of `–alle` | Bevat verborgen bestanden en mappen in de boomstructuur. |
| `-d` of `–dirs-only` | Alleen directory's weergeven. |
| `-f` of `–volledig pad` | Drukt het volledige padvoorvoegsel voor elk bestand af. |
| `-i` of `–negeer-hoofdlettergebruik` | Negeert hoofdletters en kleine letters bij het sorteren van bestandsnamen. |
| -X | Blijf alleen op het huidige bestandssysteem, zoals bij find -xdev. |
| -I | Vermeld niet de bestanden die overeenkomen met het jokertekenpatroon. |
| `-p` of `–prune` | Laat de opgegeven map uit de boomstructuur weg. |
| –bestandslimiet # | Laat geen mappen afdalen die meer dan # vermeldingen bevatten. |
| -T | Sorteer de uitvoer op het tijdstip van laatste wijziging in plaats van alfabetisch. |
| -geen rapport | Laat het afdrukken van het bestands- en directoryrapport aan het einde van de boomstructuur achterwege. |
| -S | Druk de grootte van elk bestand af, samen met de naam. |
| -in | Druk de gebruikersnaam, of UID # als er geen gebruikersnaam beschikbaar is, van het bestand af. |
| -G | Druk de groepsnaam, of GID # als er geen groepsnaam beschikbaar is, van het bestand af |
| -D | Druk de datum af van de laatste wijzigingstijd voor het vermelde bestand. |
| –inodes | Drukt het inodenummer van het bestand of de directory af |
| -apparaat | Drukt het apparaatnummer af waartoe het bestand of de directory behoort |
| -F | Voeg een `/’ toe voor mappen, een `=’ voor socketbestanden, een `*’ voor uitvoerbare bestanden en een `|’ voor FIFO’s, volgens ls -F |
| -Q | Druk niet-afdrukbare tekens in bestandsnamen af als vraagtekens in plaats van de standaardwortelnotatie. |
| -N | Druk niet-afdrukbare tekens af zoals ze zijn in plaats van de standaardwortelnotatie. |
| -R | Sorteer de uitvoer in omgekeerde alfabetische volgorde. |
| – eerst | Geef mappen weer vóór bestanden. |
| -N | Schakel inkleuring altijd uit, overschreven door de optie -C. |
| -C | Schakel inkleuring altijd in, met behulp van ingebouwde kleurstandaarden als de omgevingsvariabele LS_COLORS niet is ingesteld. Handig om de uitvoer naar een pijp in te kleuren. |
| -A | Schakel de ANSI-lijnafbeeldingshack in bij het afdrukken van de inspringingslijnen. |
| -S | Schakel ASCII-lijnafbeeldingen in (handig bij gebruik van lettertypen in Linux-consolemodus). Deze optie is nu gelijk aan `–charset=IBM437′ en zal uiteindelijk worden afgeschreven. |
| -L-niveau | Maximale weergavediepte van de directorystructuur. |
| -R | Ga recursief door de boom van elk niveau van mappen (zie -L optie), en voer bij elk daarvan opnieuw de boom uit door `-o 00Tree.html’ toe te voegen als een nieuwe optie. |
| -H-basisHREF | Schakel HTML-uitvoer in, inclusief HTTP-referenties. Handig voor ftp-sites. baseHREF geeft de basis-ftp-locatie bij gebruik van HTML-uitvoer. Dat wil zeggen dat de lokale map `/local/ftp/pub' mag zijn, maar er moet naar worden verwezen als `ftp://hostnaam.organisatie.domein/pub' (baseHREF moet `ftp://hostnaam.organisatie' zijn .domein'). Tip: gebruik bij deze optie geen ANSI-regels en geef niet meer dan één directory op in de directorylijst. Als u kleuren via CSS-stylesheet wilt gebruiken, gebruikt u naast deze optie de optie -C om kleuruitvoer te forceren. |
| -T-titel | Stelt de titel en de H1-koptekenreeks in in de HTML-uitvoermodus. |
| –tekenset tekenset | Stel de tekenset in die moet worden gebruikt bij het uitvoeren van HTML en voor lijntekenen. |
| –geen koppelingen | Schakelt hyperlinks in HTML-uitvoer uit. |
| -o bestandsnaam | Stuur uitvoer naar bestandsnaam. |
Voorbeelden
Geef de boomhiërarchie van een map weer
tree -a ./GFG
boom -a ./GFG
Lijst met bestanden met ingevoerd patroon
tree -P sample* .
tree -P monster* .
Maak een lijst van de mappen met een groter ‘N’ aantal bestanden/mappen
tree --filelimit 3 ./GFG
boom –bestandslimiet 3 ./GFG
Geef bestanden weer met hun machtigingen.
tree -p ./GFG
boom -p./GFG
Drukt het apparaatnummer af waartoe het bestand of de directory behoort.
tree --device ./GFG
boom –apparaat ./GFG
Drukt de uitvoer af op het tijdstip van de laatste wijziging in plaats van alfabetisch.
tree -t ./GFG
boom -t./GFG
Conclusie
In dit artikel hebben we het `tree`-commando in Linux bestudeerd, wat een krachtig hulpmiddel is voor het visualiseren van de mapstructuur. Het stelt de gebruiker ook in staat om de hiërarchie van bestanden en mappen weer te geven, inclusief verborgen bestanden, de uitvoer te sorteren op basis van verschillende criteria, het filtert ook bestanden met behulp van patronen en genereert HTML-uitvoer. Over het algemeen kunnen we zeggen dat het een zeer nuttig hulpmiddel is.