V Linuxu je strom definován jako rekurzivní program pro výpis adresářů, který generuje hloubkově odsazený seznam souborů. Bez jakýchkoli parametrů strom uvádí soubory v aktuálním adresáři. V době, kdy jsou zadány parametry adresáře, strom střídavě uvádí každý soubor podle adresáře nalezeného v daných adresářích. Když je seznam každého adresáře a souboru kompletní, strom vrátí celkový počet uvedených adresářů a souborů. K dispozici jsou různé možnosti pro úpravu znaku použitého ve výstupu a použití barvy.
Syntax
$ tree [-adfgilopqrstuxACDFNS] [-L level [-R]] [-H baseHREF] [-T title] [-o filename] [--nolinks] [-P pattern] [-l pattern] [--inodes] [--device] [--noreport] [--dirsfirst] [--version] [--help] [directory ?..]
Možnosti:
Tagy | Popis |
---|---|
--Pomoc | Vypíše podrobný seznam použití. |
--verze | Vypíše verzi stromu. |
-A | Všechny soubory jsou vytištěny. Ve výchozím nastavení se skryté soubory netisknou podle stromů (znamená soubory, které začínají tečkou '.'). Strom za žádných okolností nevypisuje konstrukci souborového systému '.' (Aktuální adresář) a '..' (předchozí adresář). |
-d | Pro výpis adresářů se používá volba -d. |
-F | Pro každý soubor vytiskněte úplnou předponu cesty. |
-i | Volba -i vytvoří strom, přesto nevytiskne odsazení, pokud to použijeme spolu s volbou -f, pak je to užitečné. |
-l | Postupujte podle symbolických odkazů na adresáře, jako by to byly adresáře. Jsou vyloučeny ty odkazy, které by vedly k rekurzivní smyčce. |
-X | Zůstaňte na současném systému souborů, jako je fins -xdev. |
-P vzor | Uveďte pouze soubory, které odpovídají vzoru zástupného znaku. Měli bychom také použít volbu -a a vzít v úvahu ty soubory, které začínají '.' Tečka za shodu. Existují různé platné operátory se zástupnými znaky, například '?' (libovolný jednotlivý znak), '*' (žádné nula nebo více znaků), '[…]' (jakýkoli jednotlivý znak uvedený v závorkách (volitelně lze použít - (pomlčku) pro rozsah znaků: např. [A-Z]) a ' [^….}' (v závorce není uveden jediný znak) a '|' rozděluje alternativní vzory. |
-l vzor | Tato možnost neuvede seznam souborů, které odpovídají vzoru zástupného znaku. |
-prořezávat | Prune z výstupního stromu vytvoří prázdné adresáře, které jsou užitečné při použití ve spojení s -P nebo -l |
-limit souboru # | Neklesejte z adresářů, které obsahují více než # záznamů. |
-formát timefmt | Tiskne (implicitně -D) a formátuje data na základě formátovacího řetězce, který používá syntaxi strftime. |
-noreport | Vynechá tisk sestavy souborů a adresářů na konci výpisu stromu. |
-p | Vytiskněte ochranu všech souborů. |
-s | Volba -s vytiskne velikost všech souborů a také název souboru. |
-v | Vytiskněte UID # nebo uživatelské jméno souboru, pokud žádné uživatelské jméno neexistuje. |
-G | Pokud soubor nemá název skupiny, vytiskněte GID # nebo název skupiny. |
D | Tato možnost se používá k tisku data posledního času změny pro uvedený soubor. |
-inody | Vytiskněte číslo inodu adresáře nebo souboru. |
-přístroj | Vytiskněte číslo zařízení, které obsahuje adresář nebo soubor. |
-F | Připojte '/' pro adresáře, '=' pro soubory soketu. '*' pro spustitelné soubory a '|' pro FIFO podle ls -F |
-q | Tato volba vytiskne netisknutelné znaky uvnitř názvu souboru, jako jsou otazníky, spíše než výchozí mrkvový zápis. |
-N | Tato možnost vytiskne netisknutelné znaky tak, jak jsou, nikoli výchozí mrkvový zápis |
-r | Tato možnost seřadí výsledek v obráceném abecedním pořadí. |
-t | Seřaďte výsledek spíše podle času poslední změny než podle abecedy. |
dirsdirst | Před soubory uveďte adresáře. |
-n | Vždy vypněte zbarvení, které je přepsáno volbou -C. |
-C | Pokud není nastavena proměnná prostředí LS_COLORS, vždy zapněte kolorizaci pomocí vytvořené výchozí barvy. Je užitečné obarvit výstup do potrubí. |
-A | Při tisku odsazovacích čar zapněte v tu chvíli hackování řádkové grafiky ANSI. |
-S | Zapněte linkovou grafiku ANSII (je užitečné, když používáme fronty režimu konzoly Linux). Nyní je tato volba rovna '-charset=IBM437' a bude nakonec znevážena. |
- úroveň L | Maximální hloubka zobrazení stromu ředitelů. |
-R | Rekurzivně projeďte stromem adresáře každé úrovně (zaškrtněte volbu -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 | Volba -H je zodpovědná za zapnutí výstupu HTML, který obsahuje odkazy HTTP. Je to užitečné pro ftp stránky. baseHREF poskytuje základní umístění ftp, pokud používáte výstup HTML. Znamená to, že místní adresář může být '/local/ftp/pub', ale měl by být uváděn jako 'ftp://hostname.oganization.domain/pub' (baseHREF musí být 'ftp://hostname.organize.domain') . Tip: s touto volbou nepoužívejte řádky ANSI a v tomto seznamu adresářů neuvádějte více než jeden adresář. Barvy můžeme používat přes šablonu CSS stylů, k barevnému výstupu použijte kromě této volby volbu -C. |
-T titul | V režimu výstupu HTML nastavuje název a řetězec záhlaví H1. |
-znaková sada | Pomocí této volby nastavte znakovou sadu, která se má použít při použití HTML a pro čárové kresby. |
-bez odkazů | Ve výstupu HTML se -nolinks používá k vypnutí hypertextových odkazů. |
-o název souboru | Tato volba odešle výstup na jméno souboru. |
Nainstalujte příkaz stromu
Musíme nainstalovat příkaz stromu, protože ve výchozím nastavení není nainstalován. Abychom mohli nainstalovat stromový příkaz na RHEL/CentOS/Fedora Linux, musíme do terminálu zadat následující příkaz:
# yum install tree
Pokud chceme nainstalovat stromový příkaz pro Debian / Ubuntu Linux / Mint, musíme zadat následující příkaz:
$ sudo apt install tree
Pokud chceme nainstalovat stromový příkaz pro Apple OS X, zadejte:
kolik váží kat timpf
Brew install tree
Jak používat příkaz stromu
Strom je program, který existuje pro Unix a Unixové systémy. Je to rekurzivní program pro výpis adresářů, který generuje hloubkově odsazený výpis souborů.
Bez jakýchkoli parametrů strom uvádí soubory v aktuálním adresáři. Když jsou zadány parametry adresáře, strom následně vypíše všechny soubory a adresáře nalezené v daném adresáři. Po dokončení výpisu souborů a adresářů strom vrátí celkový počet uvedených adresářů a souborů.
Podívejme se na několik příkladů příkazu tree, které vám pomohou porozumět příkazu tree:
Základní stromový výstup
Nejobecnější způsob použití příkazu stromu:
převést řetězec na int
$ tree
Když napíšeme výše uvedený příkaz na terminálu, výstup zobrazí stromovou strukturu našeho aktuálního adresáře se všemi soubory, složkami a podsložkami.
Zobrazení obsahu konkrétního adresáře
Pokud chceme vypsat soubory a podsložky konkrétního adresáře místo toho aktuálního adresáře, pak jsme schopni určit cestu nebo název adresáře pomocí následující syntaxe:
$ tree -a [DirectoryName/Path
Příklad:
Pokud chceme vypsat všechny soubory a podsložky v adresáři s názvem obrázky, musíme napsat následující příkaz:
$ tree -a Pictures
Zobrazte skryté soubory spolu s dalšími soubory pomocí stromu
V příkazu stromu se v ubuntu nezobrazuje seznam skrytých složek a souborů. Můžeme však použít příznak 'a', abychom je uvedli následovně.
$ tree -a
Ve stromu jsou složky a soubory, které začínají od '.' jsou skryté složky a soubory.
Zobrazit pouze výpis adresáře prostřednictvím stromu
Můžeme použít příznak 'd', abychom viděli seznam adresářů, ale ne základních souborů. Aby se zobrazil pouze výpis adresářů prostřednictvím stromu, musíme na terminálu zadat následující příkaz.
Syntax:
$ tree -d
Zobrazení úplné předpony cesty souborů a složek pomocí stromu
Pomocí příznaku 'f' můžeme upravit příznak stromu tak, aby se zobrazila úplná cesta jako předpona pro každý seznam složek a souborů.
normalizace rdbms
Syntax:
$ tree -f
Hodí se hlavně tehdy, když potřebujeme vědět, co kde existuje.
Zobrazení velikosti souborů a složek pomocí stromu
Pomocí příkazu flag 's' tree lze vytisknout velikost všech složek a souborů v adresáři ve smyslu bajtů.
Syntax:
$ tree -s
Pomocí příznaku 's' můžeme zkontrolovat, které paměťové položky zabírají více místa v našem systému a zbavit se těch nepotřebných.
Zobrazení oprávnění pro čtení a zápis souborů a složek pomocí stromu
Pokud chceme vidět oprávnění k mazání, čtení a zápisu u uvedených složek a souborů, můžeme použít příznak 'p'.
Syntax:
$ tree -p
Před provedením operace se souborem a složkou tedy můžeme nejprve vidět a upravit oprávnění, která existují pro konkrétní položku.
Seznam obsahu složky až do určité úrovně/hloubky stromu
Namísto vypisování každého obsahu našeho adresáře jsme schopni nakonfigurovat příkaz tree tak, aby se strom zobrazil na konkrétní úrovni nebo cestě. Jako v příkazu stromu může úroveň 1 zobrazit pouze seznam dané složky namísto jakékoli její podsložky.
Syntax:
$ tree -L[n]
Příklad
rozdíl mezi večeří a večeří
Tento příkaz zobrazí pouze podadresáře (pomocí parametru -d) aktuálního adresáře, nikoli další rozbalený strom.
Nápověda ke stromu
Příkaz tree je mnohem užitečnější než to, co jsme definovali. Příkaz jsme schopni znovu najít pomocí příkazu tree takto:
$ tree -help