Zoeken op website

Linux ‘tree Command’ gebruiksvoorbeelden voor beginners


De boom is een klein, platformonafhankelijk opdrachtregelprogramma dat wordt gebruikt om de inhoud van een map recursief weer te geven of weer te geven in een boomachtig formaat. Het geeft de mappaden en bestanden in elke submap weer, evenals een samenvatting van het totale aantal submappen en bestanden.

Lees ook: dutree – Een CLI-tool om schijfgebruik in gekleurde uitvoer te analyseren

Het tree programma is beschikbaar in Unix en Unix-achtige systemen zoals Linux, maar ook in DOS, Windows en vele andere besturingssystemen. Het beschikt over verschillende opties voor uitvoermanipulatie, van bestandsopties, sorteeropties tot grafische opties en ondersteuning voor uitvoer in XML-, JSON- en HTML-formaten.

In dit korte artikel laten we met voorbeelden zien hoe je het tree commando kunt gebruiken om recursief de inhoud van een directory op een Linux-systeem weer te geven.

Leer drie voorbeelden van opdrachtgebruik

Het tree commando is beschikbaar op alle, zo niet de meeste, Linux-distributies. Als je het echter niet standaard geïnstalleerd hebt, gebruik dan je standaardpakketbeheerder om het te installeren zoals weergegeven.

yum install tree	 #RHEL/CentOS 7
dnf install tree	 #Fedora 22+ and /RHEL/CentOS 8
sudo apt install tree	 #Ubuntu/Debian
sudo zypper in tree 	 #openSUSE

Eenmaal geïnstalleerd, kunt u verder gaan om het gebruik van boomopdrachten te leren met voorbeelden zoals hieronder weergegeven.

1. Om mapinhoud weer te geven in een boomachtig formaat, navigeert u naar de gewenste map en voert u de opdracht tree uit zonder enige opties of argumenten, als volgt. Vergeet niet om sudo aan te roepen om de boom uit te voeren in een map waarvoor toegangsrechten voor rootgebruikers vereist zijn.

tree
OR
sudo tree

Het zal de inhoud van de werkmap recursief weergeven met submappen en bestanden, en een samenvatting van het totale aantal submappen en bestanden. U kunt het afdrukken van verborgen bestanden inschakelen met de vlag -a.

sudo tree -a

2. Om de mapinhoud weer te geven met het volledige padvoorvoegsel voor elke submap en elk bestand, gebruikt u de -f zoals weergegeven.

sudo tree -f

3. Je kunt tree ook opdracht geven om alleen de submappen af te drukken minus de bestanden daarin, met behulp van de -d optie. Indien gebruikt in combinatie met de -f optie, zal de boom het volledige mappad afdrukken, zoals weergegeven.

sudo tree -d 
OR
sudo tree -df

4. U kunt de maximale weergavediepte van de directorystructuur specificeren met behulp van de -L optie. Als u bijvoorbeeld een diepte van 2 wilt, voert u de volgende opdracht uit.

sudo tree -f -L 2

Hier is nog een voorbeeld over het instellen van de maximale weergavediepte van de directorystructuur op 3.

sudo tree -f -L 3

5. Om alleen de bestanden weer te geven die overeenkomen met het jokertekenpatroon, gebruikt u de vlag -P en specificeert u uw patroon. In dit voorbeeld toont de opdracht alleen bestanden die overeenkomen met cata*, dus bestanden zoals Catalina.sh, catalina.bat, enz. zal worden vermeld.

sudo tree -f -P cata*

6. Je kunt de boom ook vertellen lege mappen uit de uitvoer te verwijderen door de optie --prune toe te voegen, zoals weergegeven.

sudo tree -f --prune

7. Er worden ook enkele nuttige bestandsopties ondersteund door tree, zoals -p, dat het bestandstype en de machtigingen voor elk bestand op een vergelijkbare manier afdrukt als het ls -l commando .

sudo tree -f -p 

8. Om bovendien de gebruikersnaam (of UID als er geen gebruikersnaam beschikbaar is) van elk bestand af te drukken, gebruikt u de -u optie, en de -g optie drukt de groepsnaam af (of GID als er geen groepsnaam beschikbaar is). Je kunt de opties -p, -u en -g combineren om een lange lijst te maken, vergelijkbaar met de opdracht ls -l.

sudo tree -f -pug

9. U kunt ook de grootte van elk bestand in bytes afdrukken, samen met de naam, met behulp van de -s optie. Als u de grootte van elk bestand wilt afdrukken, maar in een beter leesbaar formaat, gebruikt u de vlag -h en geeft u een lettergrootte op voor kilobytes (K), megabytes (M), gigabytes (G), terabytes (T), enz..

sudo tree -f -s
OR
sudo tree -f -h

10. Om de datum van de laatste wijzigingstijd voor elke submap of bestand weer te geven, gebruikt u de -D opties als volgt.

sudo tree -f -pug -h -D

11. Een andere handige optie is --du, die de grootte van elke submap rapporteert als de opeenstapeling van de grootte van alle bestanden en submappen (en hun bestanden, en spoedig).

sudo tree -f --du

12. Last but not least kunt u de uitvoer van de boom naar de bestandsnaam sturen of omleiden voor latere analyse met behulp van de optie -o.

sudo tree -o direc_tree.txt

Dat is alles met het tree-commando, voer man tree uit voor meer gebruik en opties. Als u vragen of gedachten heeft, kunt u het onderstaande feedbackformulier gebruiken om ons te bereiken.