V systémech UNIX/LINUX, stejně jako v systémech MS-DOS a Microsoft Windows, je strom rekurzivním programem pro výpis adresářů, který vytváří hloubkově odsazený výpis souborů. Bez argumentů strom uvádí soubory v aktuálním adresáři. Když jsou uvedeny argumenty adresáře, strom postupně uvádí všechny soubory nebo adresáře nalezené v daných adresářích.
Zobrazuje adresáře jako větve a soubory jako listy, což uživateli usnadňuje vizualizaci organizace souborů a adresářů v dané cestě.
Instalace příkazu `tree` v Linuxu
Ve výchozím nastavení není příkaz tree nainstalován. Chcete-li nainstalovat totéž, zadejte následující příkaz
Instalace v RHEL / CentOS / Fedora Linux
Verze menší nebo rovna Rhel8
sudo yum install tree>
Poznámka: ve verzi vyšší než RHEL 8 potřebujeme příkaz dnf.
Například při instalaci v RHEL 9.
sudo dnf install tree>
instalační strom sudo dnf
Instalace v Debian / Mint / Ubuntu Linux
sudo apt-get install tree>
instalační strom sudo apt-get
Instalace v Apple OS X
brew install tree>
Základní syntaxe příkazu Tree v Linuxu
tree [options]>
Pokud chceme zobrazit adresářovou strukturu pomocí jednoduchého příkazu `tree` bez přidání jakékoli možnosti.
strom
Zde příkaz `tree` vypíše adresářovou strukturu počínaje aktuálním adresářem.
Možnosti dostupné v příkazu `tree` v Linuxu
| Možnosti | Popis |
|---|---|
| -Pomoc | -Pomoc |
| -verze | Vypíše verzi stromu. zakázat vývojářský režim |
| „-a“ nebo „–vše“. | Zahrnuje skryté soubory a adresáře ve stromu. |
| `-d` nebo `–dirs-only` | Vypsat pouze adresáře. |
| `-f` nebo `–full-path` | Vytiskne úplnou předponu cesty pro každý soubor. |
| `-i` nebo `–ignore-case` | Ignoruje malá a velká písmena při řazení názvů souborů. |
| -X | Zůstaňte pouze na aktuálním systému souborů, jako u find -xdev. |
| -Já | Neuvádějte v seznamu soubory, které odpovídají vzoru zástupných znaků. |
| `-p` nebo `–prune` | Vynechá zadaný adresář ze stromu. |
| – limit souboru # | Nesestupujte adresáře, které obsahují více než # záznamů. |
| -t | Seřaďte výstup podle času poslední úpravy namísto abecedně. |
| – noreport | Vynechá tisk sestavy souborů a adresářů na konci výpisu stromu. |
| -s | Vytiskněte velikost každého souboru spolu s názvem. |
| -v | Vytiskněte uživatelské jméno nebo UID #, pokud není k dispozici žádné uživatelské jméno, souboru. |
| -G | Vytiskněte název skupiny nebo GID #, pokud není k dispozici žádný název skupiny, souboru |
| -D | Vytiskněte datum poslední úpravy pro uvedený soubor. |
| – inody | Vytiskne číslo inodu souboru nebo adresáře |
| -přístroj | Vytiskne číslo zařízení, ke kterému soubor nebo adresář patří |
| -F | Přidejte „/“ pro adresáře, „=“ pro soubory soketu, „*“ pro spustitelné soubory a „|“ pro FIFO, podle ls -F |
| -q | Vytiskněte netisknutelné znaky v názvech souborů jako otazníky namísto výchozí mrkvové notace. |
| -N | Tiskněte netisknutelné znaky tak, jak jsou, namísto výchozího zápisu mrkve. |
| -r | Seřaďte výstup v obráceném abecedním pořadí. |
| -nejprve | Seznam adresářů před soubory. |
| -n | Vždy vypnout barvení, přepsáno volbou -C. |
| -C | Pokud není nastavena proměnná prostředí LS_COLORS, vždy zapněte barvení pomocí vestavěných výchozích barev. Užitečné pro obarvení výstupu do potrubí. |
| -A | Při tisku odsazovacích čar zapněte hackování řádkové grafiky ANSI. |
| -S | Zapněte řádkovou grafiku ASCII (užitečné při použití písem v režimu konzoly linux). Tato volba je nyní ekvivalentní `–charset=IBM437′ a nakonec bude odepsána. |
| - úroveň L | Maximální hloubka zobrazení adresářového stromu. |
| -R | Rekurzivně projděte stromem adresáře každé úrovně (viz volba -L) a v každém z nich znovu spusťte strom přidáním `-o 00Tree.html' jako novou volbu. |
| -H základníHREF | Zapněte výstup HTML, včetně odkazů HTTP. Užitečné pro ftp stránky. baseHREF udává základní umístění ftp při použití výstupu HTML. To znamená, že místní adresář může být `/local/ftp/pub', ale musí na něj být odkazováno jako `ftp://název-hostitele.organizace.doména/pub' (baseHREF by měl být `ftp://název-hostitele.organizace .doména'). Tip: s touto volbou nepoužívejte řádky ANSI a v seznamu adresářů neuvádějte více než jeden adresář. Pokud chcete používat barvy prostřednictvím šablony stylů CSS, použijte kromě této možnosti volbu -C k vynucení barevného výstupu. |
| -T titul | Nastaví nadpis a řetězec záhlaví H1 ve výstupním režimu HTML. |
| –znaková sada | Nastavte znakovou sadu pro použití při výstupu HTML a pro kreslení čar. |
| – žádné odkazy | Vypne hypertextové odkazy ve výstupu HTML. |
| -o název souboru | Odeslat výstup na název souboru. |
Příklady
Zobrazení stromové hierarchie adresáře
tree -a ./GFG>
strom -a ./GFG
Seznam souborů se zadaným vzorem
tree -P sample* .>
strom -P vzorek* .
java escape znak
Vypište ty adresáře, které mají větší počet „N“ souborů/adresářů
tree --filelimit 3 ./GFG>
strom –limit souboru 3 ./GFG
Seznam souborů s jejich oprávněními.
tree -p ./GFG>
strom -p ./GFG
Vytiskne číslo zařízení, ke kterému soubor nebo adresář patří.
tree --device ./GFG>
strom – zařízení ./GFG
Vytiskne výstup podle času poslední úpravy namísto abecedně.
tree -t ./GFG>
strom -t ./GFG
Závěr
V tomto článku jsme studovali příkaz `tree` v Linuxu, což je mocný nástroj pro vizualizaci adresářové struktury. Umožňuje také uživateli zobrazit hierarchii souborů a adresářů včetně skrytých, třídit výstup na základě různých kritérií, také filtruje soubor pomocí vzorů a generuje HTML výstup. Celkově můžeme říci, že je to velmi užitečný nástroj.