Polecenie drzewa w systemie Linux z przykładami

W systemach UNIX/LINUX, a także MS-DOS i Microsoft Windows drzewo jest rekursywnym programem wyświetlającym listę katalogów, który tworzy listę plików z wcięciem w głąb. Bez argumentów drzewo wyświetla listę plików w bieżącym katalogu. Po podaniu argumentów katalogu drzewo wyświetla po kolei wszystkie pliki lub katalogi znalezione w danych katalogach.

Pokazuje katalogi jako nawiasy i pliki jako liście, co ułatwia użytkownikowi wizualizację organizacji plików i katalogów w obrębie danej ścieżki.

Instalowanie polecenia `tree` w systemie Linux

Domyślnie polecenie drzewa nie jest zainstalowane. Wpisz następujące polecenie, aby zainstalować to samo

Instalacja w RHEL/CentOS/Fedora Linux

Wersja mniejsza lub równa Rhel8

sudo yum install tree 

Uwaga: w wersji wyższej niż RHEL 8 potrzebujemy polecenia dnf.
Na przykład podczas instalacji w RHEL 9.

sudo dnf install tree 

Sudo dnf drzewo instalacyjne

Instalacja w systemie Debian/Mint/Ubuntu Linux

sudo apt-get install tree 

sudo apt-get drzewo instalacyjne

Instalacja w Apple OS X

brew install tree 

Podstawowa składnia polecenia Tree w systemie Linux

tree [options] 

Jeśli chcemy wyświetlić strukturę katalogów za pomocą prostego polecenia `drzewo` bez dodawania jakichkolwiek opcji.

drzewo

Tutaj polecenie `tree` wyświetli strukturę katalogów, zaczynając od bieżącego katalogu.

Opcje dostępne w poleceniu `tree` w systemie Linux

Opcje

Opis
-pomoc -pomoc
-wersja

Wyświetla wersję drzewa.

`-a` lub `-all`

Zawiera ukryte pliki i katalogi w drzewie.

`-d` lub `-tylko-dirs`

Lista tylko katalogów.

`-f` lub `-pełna-ścieżka`

Drukuje pełny prefiks ścieżki dla każdego pliku.

`-i` lub `-ignore-case`

Ignoruje wielkość liter podczas sortowania nazw plików.

-X

Pozostań tylko przy bieżącym systemie plików, tak jak w przypadku find -xdev.

-I

Nie wymieniaj plików pasujących do wzorca wieloznacznego.

`-p` lub `-przycinaj`

Pomija określony katalog z drzewa.

–limit pliku #

Nie schodź w dół do katalogów zawierających więcej niż # wpisów.

-T

Sortuj dane wyjściowe według czasu ostatniej modyfikacji zamiast alfabetycznie.

–noraport

Pomija drukowanie raportu o plikach i katalogach na końcu listy drzewa.

-S

Wydrukuj rozmiar każdego pliku wraz z nazwą.

-W

Wydrukuj nazwę użytkownika lub numer UID, jeśli nazwa użytkownika nie jest dostępna, pliku.

-G

Wydrukuj nazwę grupy lub numer GID, jeśli nazwa grupy nie jest dostępna, pliku

-D

Wydrukuj datę ostatniej modyfikacji wymienionego pliku.

–i-węzły

Drukuje numer i-węzła pliku lub katalogu

-urządzenie

Drukuje numer urządzenia, do którego należy plik lub katalog

-F

Dołącz `/' do katalogów, `=' do plików gniazd, `*' do plików wykonywalnych i `|' do FIFO, zgodnie z ls -F

-Q

Drukuj niedrukowalne znaki w nazwach plików jako znaki zapytania zamiast domyślnego zapisu marchewkowego.

-N

Drukuj znaki niedrukowalne w niezmienionej postaci zamiast domyślnego zapisu marchewkowego.

-R

Posortuj dane wyjściowe w odwrotnej kolejności alfabetycznej.

–dirpierwszy

Lista katalogów przed plikami.

-N

Zawsze wyłączaj kolorowanie, zastępowane przez opcję -C.

-C

Zawsze włączaj kolorowanie, używając wbudowanych domyślnych ustawień kolorów, jeśli zmienna środowiskowa LS_COLORS nie jest ustawiona. Przydatne do kolorowania danych wyjściowych do potoku.

-A

Włącz hack grafiki linii ANSI podczas drukowania linii wcięć.

-S

Włącz grafikę liniową ASCII (przydatne podczas używania czcionek w trybie konsoli Linux). Ta opcja jest teraz odpowiednikiem `–charset=IBM437′ i ostatecznie zostanie wycofana.

-Poziom L

Maksymalna głębokość wyświetlania drzewa katalogów.

-R

Rekurencyjnie przechodź przez katalogi na każdym poziomie drzewa (patrz opcja -L) i na każdym z nich ponownie wykonaj drzewo, dodając `-o 00Tree.html' jako nową opcję.

-H zasadaHREF

Włącz wyjście HTML, w tym odniesienia HTTP. Przydatne w przypadku witryn FTP. baseHREF podaje podstawową lokalizację FTP podczas korzystania z wyjścia HTML. Oznacza to, że katalogiem lokalnym może być `/local/ftp/pub', ale należy się do niego odwoływać jako `ftp://nazwa-hosta.organizacja.domena/pub' (baseHREF powinien mieć postać `ftp://nazwa_hosta.organizacja .domena'). Wskazówka: nie używaj linii ANSI z tą opcją i nie podawaj więcej niż jednego katalogu na liście katalogów. Jeśli chcesz używać kolorów poprzez arkusz stylów CSS, użyj opcji -C jako dodatku do tej opcji, aby wymusić wyświetlanie kolorów.

-T tytuł

Ustawia tytuł i ciąg nagłówka H1 w trybie wyjściowym HTML.

–zestaw znaków zestaw znaków

Ustaw zestaw znaków, który będzie używany podczas wysyłania kodu HTML i rysowania linii.

–brak linków

Wyłącza hiperłącza w wynikach HTML.

-o nazwa pliku Wyślij dane wyjściowe do nazwy pliku.

Przykłady

Wyświetla hierarchię drzewa katalogu

tree -a ./GFG 

drzewo -a ./GFG

Lista plików z wprowadzonym wzorcem

tree -P sample* . 

drzewo -P próbka* .

Wypisz te katalogi, które mają większą liczbę „N” plików/katalogów

tree --filelimit 3 ./GFG 

drzewo – limit pliku 3 ./GFG

Lista plików wraz z ich uprawnieniami.

tree -p ./GFG 

drzewo -p ./GFG

Drukuje numer urządzenia, do którego należy plik lub katalog.

tree --device ./GFG 

drzewo –urządzenie ./GFG

Drukuje dane wyjściowe według czasu ostatniej modyfikacji zamiast alfabetycznie.

tree -t ./GFG 

drzewo -t ./GFG

Wniosek

W tym artykule studiowaliśmy polecenie „drzewo” w systemie Linux, które jest potężnym narzędziem do wizualizacji struktury katalogów. Pozwala także użytkownikowi wyświetlić hierarchię plików i katalogów, w tym ukrytych, sortując dane wyjściowe w oparciu o różne kryteria, a także filtruje pliki za pomocą wzorców i generuje dane wyjściowe w formacie HTML. Ogólnie rzecz biorąc, możemy to być bardzo przydatne narzędzie.