У системах UNIX/LINUX, а також у MS-DOS і Microsoft Windows дерево — це програма рекурсивного переліку каталогів, яка створює перелік файлів із глибинним відступом. Без аргументів дерево містить список файлів у поточному каталозі. Коли надаються аргументи каталогу, у дереві по черзі перераховуються всі файли або каталоги, знайдені в заданих каталогах.
Він показує каталоги як гілки, а файли як листя, що полегшує для користувача візуалізацію організації файлів і каталогів у заданому шляху.
Встановлення команди `tree` в Linux
За замовчуванням команда дерева не встановлена. Введіть таку команду, щоб установити її
Встановлення в RHEL / CentOS / Fedora Linux
Версія менша або дорівнює Rhel8
sudo yum install tree>
Зауважте, що у версії, вищій за RHEL 8, нам потрібна команда dnf.
Наприклад, при установці в RHEL 9.
sudo dnf install tree>
дерево встановлення sudo dnf
Встановлення в Debian / Mint / Ubuntu Linux
sudo apt-get install tree>
sudo apt-get дерево встановлення
Встановлення в Apple OS X
brew install tree>
Базовий синтаксис команди дерева в Linux
tree [options]>
Якщо ми хочемо відобразити структуру каталогів за допомогою простої команди `tree` без додавання жодних параметрів.
дерево
Тут команда `tree` виведе структуру каталогу, починаючи з поточного каталогу.
Параметри, доступні в команді `tree` в Linux
| Опції | опис |
|---|---|
| – допомога | – допомога |
| – версія | Виводить версію дерева. рядок до jsonobject |
| `-a` або `–all` | Включає приховані файли та каталоги в дереві. |
| `-d` або `–dirs-only` | Лише список каталогів. |
| `-f` або `–повний шлях` | Друкує повний префікс шляху для кожного файлу. |
| `-i` або `–ignore-case` | Ігнорує регістр під час сортування імен файлів. |
| -x | Залишайтеся лише на поточній файловій системі, як у find -xdev. |
| -Я | Не вказуйте файли, які відповідають шаблону підстановки. |
| `-p` або `–prune` | Виключає вказаний каталог з дерева. |
| –filelimit # | Не переходьте до каталогів, які містять більше ніж # записів. |
| -т | Сортуйте результати за часом останньої зміни, а не за алфавітом. |
| – без звіту | Опускає друк звіту про файли та каталоги в кінці списку дерева. |
| -s | Надрукуйте розмір кожного файлу разом із назвою. |
| -в | Надрукуйте ім’я користувача або UID #, якщо ім’я користувача недоступне, файлу. |
| -g | Надрукуйте назву групи або GID #, якщо назва групи недоступна, файлу |
| -Д | Надрукуйте дату останньої зміни для зазначеного файлу. |
| –іноди | Друкує номер inode файлу або каталогу |
| – пристрій | Друкує номер пристрою, якому належить файл або каталог |
| -Ф | Додайте `/' для каталогів, `=' для файлів сокетів, `*' для виконуваних файлів і `|' для FIFO, як ls -F |
| -q | Друкувати недруковані символи в назвах файлів як знаки питання замість нотації моркви за замовчуванням. |
| -Н | Друкувати недруковані символи як є замість нотації моркви за замовчуванням. |
| -р | Відсортуйте вихідні дані в зворотному алфавітному порядку. |
| –dirsfirst | Список каталогів перед файлами. |
| -н | Завжди вимикайте розфарбовування, перекриваючи опцією -C. |
| -C | Завжди вмикайте розфарбовування, використовуючи вбудовані параметри кольору за замовчуванням, якщо змінна середовища LS_COLORS не встановлена. Корисно для розфарбування виводу в канал. |
| -А | Увімкніть ANSI line graphics hack під час друку ліній відступів. |
| -С | Увімкніть лінійну графіку ASCII (корисно під час використання шрифтів режиму консолі Linux). Цей параметр тепер еквівалентний `–charset=IBM437' і з часом буде знецінений. |
| - Рівень L | Максимальна глибина відображення дерева каталогів. |
| -Р | Рекурсивно переходьте вниз по дереву кожного рівня каталогів (дивіться параметр -L), і для кожного з них знову виконуйте дерево, додаючи `-o 00Tree.html' як новий параметр. |
| -H baseHREF | Увімкніть вихід HTML, включаючи посилання HTTP. Корисно для ftp-сайтів. baseHREF надає базове розташування ftp під час використання виводу HTML. Тобто локальний каталог може бути `/local/ftp/pub', але на нього має бути посилання `ftp://host-name.organization.domain/pub' (baseHREF має бути `ftp://hostname.organization .домен'). Підказка: не використовуйте рядки ANSI з цим параметром і не вказуйте більше одного каталогу в списку каталогів. Якщо ви хочете використовувати кольори за допомогою таблиці стилів CSS, використовуйте опцію -C на додаток до цієї опції, щоб примусово вивести колір. |
| -T назва | Встановлює заголовок і рядок заголовка H1 у режимі виведення HTML. |
| – charset charset | Встановіть набір символів для використання під час виведення HTML і для малювання ліній. |
| – немає посилань | Вимикає гіперпосилання у виводі HTML. |
| -o ім'я файлу | Надіслати вихід до імені файлу. |
Приклади
Відображення ієрархії дерева каталогу
tree -a ./GFG>
дерево -а ./GFG
Список файлів із введеним шаблоном
tree -P sample* .>
дерево -P зразок* .
Перелічіть ті каталоги, які містять більше N файлів/каталогів
tree --filelimit 3 ./GFG>
дерево –filelimit 3 ./GFG
'число Ейлера в java'
Список файлів з їх дозволами.
tree -p ./GFG>
дерево -p ./GFG
Друкує номер пристрою, якому належить файл або каталог.
tree --device ./GFG>
дерево – пристрій ./GFG
Друкує вихідні дані за часом останньої зміни замість алфавітного.
tree -t ./GFG>
дерево -t ./GFG
Висновок
У цій статті ми вивчали команду `tree` в Linux, яка є потужним інструментом для візуалізації структури каталогів. Він також дозволяє користувачеві відображати ієрархію файлів і каталогів, включаючи приховані, сортуючи вихідні дані на основі різних критеріїв, також фільтрує файли за допомогою шаблонів і генерує вихідні дані HTML. Загалом ми можемо це дуже корисний інструмент.